Javascript AngularJS-数组中具有多个变化参数的过滤
只是想弄清楚怎么做。我试图实现的基本理念是Javascript AngularJS-数组中具有多个变化参数的过滤,javascript,angularjs,Javascript,Angularjs,只是想弄清楚怎么做。我试图实现的基本理念是 <div ng-repeat="product in products | filter: myFilter"> $scope.myFilter = function (item) { return item === 'red' || item === 'blue'; }; $scope.myFilter=函数(项){ 退货项目=='red'| |项目=='blue'; }; 但是,在我的例子中,我的过滤器参数存储在一个
<div ng-repeat="product in products | filter: myFilter">
$scope.myFilter = function (item) {
return item === 'red' || item === 'blue';
};
$scope.myFilter=函数(项){
退货项目=='red'| |项目=='blue';
};
但是,在我的例子中,我的过滤器参数存储在一个数组中,该数组将根据用户输入动态更改。我已经试过了,但它不起作用,因为我在循环中返回
var index;
$scope.filterParams = ['red', 'blue']
$scope.myFilter = function (item) {
for (index = 0; index < $scope.filterParams.length; ++index) {
return item === $scope.filterParams[index];
}
};
var指数;
$scope.filterParams=['红色','蓝色']
$scope.myFilter=函数(项){
对于(索引=0;索引<$scope.filterParams.length;++index){
返回项==$scope.filterParams[索引];
}
};
感谢您的帮助,谢谢 试试这个:
app.filter('myFilter ', function() {
$scope.filterParams = ['red', 'blue'];
return function(item) {
return $scope.filterParams.indexOf(item) !== -1;
});
});
问题是您将在第一次迭代时返回。您可以这样做:
$scope.myFilter = function(item) {
return $scope.filterParams.indexOf(item) > -1;
};