1.AngularJS编写自定义过滤器的形式和AngularJS的factory 和service非常相像,返回一个对象或者是一个函数,编写的时候,需要一个带有一个以上参数的函数即可。
2.格式:
app.filter('filter名称',function(){
return function(需要过滤的对象,过滤器参数1,...){
//...执行业务逻辑代码
return 处理后的对象;
}
});
3.示例
app.register.filter('jxListFilter',function(){
return function(shipTypes,typeName,code){
if(!typeName && !code) return shipTypes;
var r = [];
for(var i=0; i < shipTypes.length;i++){
var jx = shipTypes[i];
if (
(!typeName || jx.typeName.indexOf(typeName) >= 0)
&& (!code || jx.id.indexOf(code) >= 0)
) r.push(jx);
}
return r;
}
});
过滤器使用
<tr ng-repeat="jx in shipTypes | jxListFilter:typeName:id"></tr>