$filter

参考 

https://docs.angularjs.org/api/ng/filter/filter

http://blog.51yip.com/jsjquery/1592.html

http://blog.thoughtram.io/angularjs/2014/11/19/exploring-angular-1.3-stateful-filters.html

 

angular 提供了$filter 服务,基本作用是做数据转换格式.

比如转换日期format,小数点,货币等.

 

    <div ng-controller="ctrl">

        {{ name | myfilter1 : email : 'para2' | myfilter2 }} 

    </div>

使用方式是这样一个表达式 ,可以连环过滤一个值, 参数和值也可以是$scope的属性

               angular.module("Main", dependentModuleList).

                    filter("myfilter", ["$service",function ($service) {
              var filter =
function (value, para1, para2) { var newValue = value + para1 + para2 return newValue; }
              filter.$stateful = true; //这个是1.3以后才有的属性,default是false. 它的用处是为了优化,false表示只有当value改变的时候filter才会被执行,true 就是每一次digest都会执行.
              return filter; }]);

通过 model.filter注册 , 第2参数是数组,这里可以依赖注入 , 一定要返回一个函数 , 函数的参数第1个是要转换的值,其它的就是普通传入的参数,最后返回一个新的值就可以了 

                    controller("ctrl", ["$scope", "$filter", function ($scope, $filter) {                    

                        var newValue = $filter('myfilter')("value", "para1", "para2");

                    }]);

除了写在模板内,我们也可以用普通的javascript 通过注入service $filter 来调用我们的过滤器 .

 

你可能感兴趣的:(filter)