Angular.js ng-repeat过滤器,具有多个值之一(值或)的属性

是否可以过滤对象数组,从而使属性的值可以是几个值(或条件)中的任一个

这类似于此问题-Angular.js" title="Angular.js">Angular.js ng-repeat:按单个字段过滤

但是代替

<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或ngShow根据特定条件动态显示和隐藏元素。

以上是 Angular.js ng-repeat过滤器,具有多个值之一(值或)的属性 的全部内容, 来源链接: utcz.com/qa/419525.html

回到顶部