试图找出如何做到这一点。我想要实现的基本思路是这个
<div ng-repeat="product in products | filter: myFilter">
$scope.myFilter = function (item) {
return item === 'red' || item === 'blue';
};
但是在我的情况下,我的过滤器参数存储在一个数组中,该数组将根据用户输入动态变化。我已经尝试了这个但是它在循环中返回时不会起作用。
var index;
$scope.filterParams = ['red', 'blue']
$scope.myFilter = function (item) {
for (index = 0; index < $scope.filterParams.length; ++index) {
return item === $scope.filterParams[index];
}
};
感谢帮助,谢谢!
答案 0 :(得分:1)
试试这个:
app.filter('myFilter ', function() {
$scope.filterParams = ['red', 'blue'];
return function(item) {
return $scope.filterParams.indexOf(item) !== -1;
});
});
答案 1 :(得分:1)
问题是你在第一次迭代时返回。你可以这样做:
$scope.myFilter = function(item) {
return $scope.filterParams.indexOf(item) > -1;
};