首页 > 网站 > WEB开发 > 正文

$filter

2024-04-27 14:20:04
字体:
来源:转载
供稿:网友

$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 来调用我们的过滤器 .


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表