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