我有一个我想在指令中使用的过滤器。 我有一个简单的过滤器,在ng-repeat指令内工作正常 我不太确定我是如何在指令链接功能中应用的。 我写下面的指令,把过滤器作为一个函数,这是正确的方法,我怎么能这样做?或者有更好的方法吗?
myApp.directive('repeatDirective', ['$filter', function($filter) {
return {
scope: {
'filter': '&?',
'itemList': '='
},
template: "<div ng-repeat='item in itemList'>{{item .name}}</div>",
link: function (scope,element,attrs, ngModelCtrl) {
**// how to filter itemList here???**
}
};
}]);
$rootScope.collectionFilter= function (transType) {
if($scope.formData_EventDetails.actualPotential){
if($scope.formData_EventDetails.actualPotential=='NM'){
//console.log(transType.tranTypeName.indexOf('Near Miss'));
return transType.tranTypeName.indexOf('Near Miss') >=0 ;
}
else{
return transType.tranTypeName.indexOf('Near Miss') <0 ;
}
}
return true;
};
<repeat-directive item-list="someObjectCollection" filter="collectionFilter()">
</repeat-directive>
答案 0 :(得分:0)
使用Angular的寄存器过滤器方法定义过滤器,然后像使用内置过滤器一样使用。如果您有疑问,请告诉我。
过滤:
myApp.filter('collectionFilter', function(){
return function(input){
return input ? 'true : 'false';
};
});