AngularJS1.x 自定filter功能

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43995925/article/details/96973594

自定filter功能

1,filters.js添加一个module

angular.module('mytest', []).filter('myreplace', function() { 
  return function(input) { 
    return input.replace(/my/, "=====") 
  }; 
}); 

2,app.js中加载这个module

var phonecatApp = angular.module('phonecatApp', [ 
 'ngRoute', 
 'mytest'
]); 

3,html中调用

{{ "my ng ang" | lowercase | myreplace}}  //结果:===== ng ang 

注意:| lowercase | myreplace管道命令可以有多个

 

filter的使用方法

 

1. 在模板中使用filter
  直接在{{}}中使用filter,跟在表达式后面用 | 分割,语法如下:

{{ expression | filter }}

  多个filter连用,上一个filter的输出将作为下一个filter的输入

{{ expression | filter1 | filter2 | ... }}

  filter可以接收参数,参数用 : 进行分割,如下:

{{ expression | filter:argument1:argument2:... }}

除了对{{}}中的数据进行格式化,我们还可以在指令中使用filter,例如先对数组array进行过滤处理,然后再循环输出: 

<span ng-repeat="a in array | filter ">

2. 在controller和service中使用filter

依赖注入

app.controller('testC',function($scope,currencyFilter){
  $scope.num = currencyFilter(123534); 
}

ng提供了一个$filter服务可以来调用所需的filter在controller中使用多个filter,只需注入一个$filter​​​​​​​,

app.controller('testC',function($scope,$filter){
  $scope.num = $filter('currency')(123534);
  $scope.date = $filter('date')(new Date()); 
}

 

 

展开阅读全文

没有更多推荐了,返回首页