javascript - AngularJS 过滤一个字段的多个值

标签 javascript angularjs

我需要能够过滤一个对象的一个​​字段的两个不同值。举个例子。

$scope.products = [
    {name:"Apple",type:"fruit"},
    {name:"Grape",type:"fruit"},
    {name:"Orage",type:"fruit"},
    {name:"Carrot",type:"vegetable"},
    {name:"Milk",type:"dairy"}
]

使用过滤器 ng-repeat="item in products | filter:{type:'fruit'}"。我可以得到所有的水果。但是如果我想得到所有的水果和蔬菜怎么办?我试过了

ng-repeat="item in products | filter:{type:['fruit','vegetable']}"

但这没有用。我认为应该有一个简单的解决方案,但我找不到。

JSFiddle Example

最佳答案

改用过滤器函数:

$scope.fruitOrVeg = function(product){
    return product.type == 'fruit' || product.type == 'vegetable';
};

<li ng-repeat="item in products | filter:fruitOrVeg">{{item.name}}</li>

Fiddle

关于javascript - AngularJS 过滤一个字段的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736518/

相关文章:

javascript - 如何让 react-native Picker 停留在新选择的选项上?

javascript - 如何使用 dojo 提交使用 spring 表单标签创建的表单

php - 如果没有 javascript,但使用 php 而不是 <noscript>,如何防止页面加载?

javascript - ajaxSubmit 目标被重复而不被替换

javascript - 对动态填充的列表框进行排序

javascript - AngularJS:遍历单选按钮组

javascript - Angular.js - 将具有特殊字符和数字的字符串转换为数组并使用 ng-repeat 显示

javascript - AngularJS (1.5.8) - 如何直接从获取 json 对象的 Controller 内填充选择选项列表?

javascript - 异步模式下ajax回调冲突

javascript - 当用户使用 mCustomScrollbar onTotalScroll 到达结束滚动时,如何加载内容?