过滤AngularJS中一个键的多个值
我有产品阵列。我想筛选类型键。我只想同时展示蔬菜和水果。 如何在AngularJS中设置单键和多值过滤器过滤AngularJS中一个键的多个值,angularjs,angularjs-directive,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Ng Repeat,我有产品阵列。我想筛选类型键。我只想同时展示蔬菜和水果。 如何在AngularJS中设置单键和多值过滤器 <div ng-controller="MyCtrl"> <ul> <li ng-repeat="item in products | filter:({type:'vegetable'}||{type:'fruit'})">{{item.name}}</li> </ul>
<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="item in products | filter:({type:'vegetable'}||{type:'fruit'})">{{item.name}}</li>
</ul>
</div>
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.products = [
{name:"Apple",type:"fruit"},
{name:"Grape",type:"fruit"},
{name:"Orage",type:"fruit"},
{name:"Carrot",type:"vegetable"},
{name:"Milk",type:"dairy"}
]
}
- {{item.name}
var myApp=angular.module('myApp',[]);
函数MyCtrl($scope){
$scope.products=[
{名称:“苹果”,类型:“水果”},
{名称:“葡萄”,类型:“水果”},
{名称:“Orage”,类型:“水果”},
{名称:“胡萝卜”,类型:“蔬菜”},
{名称:“牛奶”,类型:“牛奶”}
]
}
最简单的解决方案是在控制器中添加一个过滤器并使用它:
$scope.filterFruitsAndVegies = function (item) {
return item.type === 'fruit' || item.type === 'vegetable';
};
- {{item.name}
谢谢@wayne Ellery,但我们能在不创建自定义过滤器的情况下做到这一点吗?我的理解是否定的。有很多问题的答案是相同的,例如:
<div ng-controller="MyCtrl">
<ul>
<li ng-repeat="item in products | filter: filterFruitsAndVegies">{{item.name}}</li>
</ul>
</div>