【问题标题】:filter multiple value of one key in AngularJS在AngularJS中过滤一个键的多个值
【发布时间】:2015-02-24 05:55:36
【问题描述】:

我有产品数组。我想过滤类型键。我只想一起展示蔬菜和水果。 如何在AngularJS中对单个键和多个值设置过滤器。

<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"}
        ]
    }

【问题讨论】:

    标签: angularjs angularjs-directive angularjs-ng-repeat


    【解决方案1】:

    最简单的解决方案是在控制器中添加一个过滤器并使用它:

    $scope.filterFruitsAndVegies = function (item) {
        return item.type === 'fruit' || item.type === 'vegetable';
    };
    
    <div ng-controller="MyCtrl">
        <ul>
            <li ng-repeat="item in products | filter: filterFruitsAndVegies">{{item.name}}</li>
        </ul>
    </div>
    

    http://plnkr.co/edit/HhZ49dpylTRJMVnSKdyt?p=preview

    【讨论】:

    • 感谢@wayne Ellery,但我们可以在不创建自定义过滤器的情况下做到这一点吗?
    • 我的理解是没有。有相当多的问题具有相同的答案,例如:stackoverflow.com/questions/21987904/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 2020-03-21
    • 1970-01-01
    相关资源
    最近更新 更多