是否可以过滤对象数组,使得属性的值可以是几个值(或条件)中的任何一个而无需编写自定义过滤器
这类似于这个问题 - Angular.js ng-repeat :filter by single field
但不是
<div ng-repeat="product in products | filter: { color: 'red' }">
有没有可能做这样的事情
<div ng-repeat="product in products | filter: { color: 'red'||'blue' }">
示例数据如下-
$scope.products = [
{ id: 1, name: 'test', color: 'red' },
{ id: 2, name: 'bob', color: 'blue' }
/*... etc... */
];
我试过了
<div ng-repeat="product in products | filter: { color: ('red'||'blue') }">
最佳答案
最好的方法是使用函数:
<div ng-repeat="product in products | filter: myFilter">
$scope.myFilter = function (item) {
return item === 'red' || item === 'blue';
};
或者,您可以使用 ngHide or ngShow根据特定条件动态显示和隐藏元素。
关于javascript - Angular.js ng-repeat 按具有多个值之一的属性(或值)过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21987904/