如何在指令链接函数中使用从控制器传递的筛选器
How to Use Filter Passed from Controller in Directive Link Function
我有一个过滤器,我想在指令中使用它。我有一个简单的过滤器,它在ng repeat指令中运行良好我不太确定如何准确地应用指令链接函数内部。我写了下面的指令,把过滤器作为一个函数,这是正确的方法吗,我怎么能这样做?或者有更好的方法吗?
JavaScript
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;
};
HTML
<repeat-directive item-list="someObjectCollection" filter="collectionFilter()">
</repeat-directive>
使用Angular的register-filter方法定义过滤器,然后像使用内置过滤器一样使用。如果你有问题,请告诉我。
过滤器:
myApp.filter('collectionFilter', function(){
return function(input){
return input ? 'true : 'false';
};
});
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 从控制器返回后Ajax启动事件激发
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 如何在单击复选框后调用控制器方法
- 在控制器和数据对象之间同步数据
- 将Javascript数组发送到控制器ASP.NET MVC
- 使用AngularJS中的筛选器更新给定的表
- 淘汰搜索/筛选
- 角度控制器结构
- 如何在Jquery中发布后将值从视图返回到控制器
- 将值从html传递到AngularJS控制器
- 如何在指令链接函数中使用从控制器传递的筛选器
- 控制器中的筛选列表没有'不起作用
- 我们可以将控制器中的JSON数据(MM/DD/YYYY格式)与今天的's日期,并在数组中显示筛选列表
- 如何从视图中的控制器筛选结果
- AngularJs-在指令控制器中使用自定义筛选器
- 如何从控制器中筛选数据
- 如何将模板中的唯一id与控制器中的筛选函数相匹配
- 在筛选器中使用控制器的$scope