angular.js已经提供了许多内置的过滤器。
我们有如下的html片段:
<ul>
<li ng-repeat='item in items'>{{item|myFilter}}</li>
</ul>
则自定义时可以:
app.filter('myFilter',function(){
return function(input){
return doSomething(input);
}});
而当我们想给filter传递更多参数时,比如我们有如下片段:
<div ng-repeat='number in numbers'>
<div ng-repeat='item in items'>{{item|myFilter:number}}</div>
</div>
filter可以这么写:
app.filter('myFilter',function(){
return function(input,number){
return doSomething(input[number]);
}
});
app.filter('myFilter',function(){
var data=getData();
return function(input,number){
return data[input][number];
}
});