AngularJS 自定义过滤器详解及实例代码

 更新时间:2016年09月14日 15:51:27   作者:xingoo  
这篇文章主要介绍了AngularJS 自定义过滤器,这里整理了相关资料及示例代码,有兴趣的小伙伴可以参考下

     AngularJS另一个特点就是提供了过滤器,可以通过操作UNIX下管道的方式,操作数据结果。

  通过使用管道,可以便于双向的数据绑定中视图的展现。

  过滤器在处理过程中,将数据变成新的格式,而且可以使用管道这种链式风格,还能接受附加的参数。

  实现方式

  下面看一下如何定义声明一个过滤器,首先依然是要创建我们自己的模块myAppModule

                   var myAppModule=agular.module("myApp",[]);

  接下来在模块的基础上,创建过滤器:

myAppModule.filter("reverse",function(){
           
});

  其中reverse是过滤器的名字,后面跟着过滤器的方法声明,在方法中返回另一个方法:

myAppModule.filter("reverse",function(){
        return function(input,uppercase){
          var out = "";
          for(var i=0 ; i<input.length; i++){
            out = input.charAt(i)+out;
          }
          if(uppercase){
            out = out.toUpperCase();
          }
          return out;
        }
      });

  内部返回的方法包含了两个参数,一个是输入的值,就是我们过滤器接受的值。

  如果想要实现下面的过滤器:

  name | reverse

  则input就是其中name代表的值。

  后面的参数是可选的,我们这里接受uppercase这个bool值,判断是否要进行大小写转换。

  内部实现的代码,就没必要解释了。最后返回过滤后的字符串即可。

  程序样例

<!doctype html>
<html ng-app="myApp">
  <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <script src="http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js"></script>
  </head>
  <body>

    <div ng-controller="myAppCtrl">
      name:{{ name }}<br>
      reverse name:{{ name | reverse }}<br>
      reverse&uppercase name:{{ name | reverse:true }}
    </div>
    <script type="text/javascript">
      var myAppModule = angular.module("myApp",[]);

      myAppModule.controller("myAppCtrl",["$scope",function($scope){
        $scope.name = "xingoo";
      }]);

      myAppModule.filter("reverse",function(){
        return function(input,uppercase){
          var out = "";
          for(var i=0 ; i<input.length; i++){
            out = input.charAt(i)+out;
          }
          if(uppercase){
            out = out.toUpperCase();
          }
          return out;
        }
      });
    </script>
  </body>
</html>

  运行结果

以上就是对AngularJS 自定义过滤器 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!

相关文章

  • 使用AngularJS 跨站请求如何解决jsonp请求问题

    使用AngularJS 跨站请求如何解决jsonp请求问题

    这篇文章主要介绍了使用AngularJS 跨站请求如何解决jsonp请求问题,下面通过本文给大家分享解决办法,需要的朋友参考下
    2017-01-01
  • 小谈angular ng deploy的实现

    小谈angular ng deploy的实现

    这篇文章主要介绍了小谈angular ng deploy的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Angular2内置指令NgFor和NgIf详解

    Angular2内置指令NgFor和NgIf详解

    Directive的概念在Angular 1.x就存在了,我对它的认识比较模糊,所以直接通过一些例子来说明。Angular提供的内置执行有很多,这次使用两个:ngFor、ngIf。
    2016-08-08
  • 基于datepicker定义自己的angular时间组件的示例

    基于datepicker定义自己的angular时间组件的示例

    这篇文章主要介绍了基于datepicker定义自己的angular时间组件,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • AngularJS ng-mousedown 指令

    AngularJS ng-mousedown 指令

    本文主要介绍AngularJS ng-mousedown 指令,这里帮大家整理了ng-mousedown 指令的基本资料,并附代码示例,有需要的朋友可以参考下
    2016-08-08
  • AngularJS延迟加载html template

    AngularJS延迟加载html template

    这篇文章主要介绍了AngularJS延迟加载html template 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • AngularJS全局警告框实现方法示例

    AngularJS全局警告框实现方法示例

    这篇文章主要介绍了AngularJS全局警告框实现方法,结合实例形式分析了AngularJS全局警告框的实现步骤与相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • angular框架实现全选与单选chekbox的自定义

    angular框架实现全选与单选chekbox的自定义

    这篇文章主要介绍了angular框架实现全选与单选chekbox的自定义,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • angularjs之$timeout指令详解

    angularjs之$timeout指令详解

    本篇文章主要主要介绍了angularjs之$timeout指令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • 关于Angularjs中自定义指令一些有价值的细节和技巧小结

    关于Angularjs中自定义指令一些有价值的细节和技巧小结

    这篇文章主要介绍了关于Angularjs中自定义指令一些有价值的细节和技巧小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04

最新评论