在我看来,我使用一个函数来过滤选择框中的一些项目:
<select class="..."
ng-model="selectedItem"
ng-options="item.name for item in items | filter:filterItems(someArgument)">
</select>
该函数定义为控制器中的普通函数,不是AngularJS过滤器:
$scope.filterItems = function(someArgument) {
return function(item) {
// Do something
return someResult;
}
};
这个很好用。
不过,现在我想在控制器中使用相同的过滤功能,并计算过滤后的项目数。
我不能使用这个代码,因为
filterItems()
不是AngularJS过滤器:
$scope.countFilteredItems = function() {
return $filter('filterItems')($scope.items, someArgument).length;
};
我有没有办法在控制器中使用我的过滤功能,而不需要自己重新实现整个过滤过程?我能用这个吗
$filter
我的香草过滤功能的服务?