AngularJS1.x 自定filter功能

自定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()); 
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值