6

所以我有一个存储在控制器变量中的公司数据集。

$scope.companies = [
    {
        name: "first company",
        type: ["a", "b"]
    },
    {
        name: "second company",
        type: ["b"]
    },
    {   
        name: "third company",
        type: ["c"]
    }
]

然后我有我的列表,我想列出所有 a 或 b 的公司。我认为发送和数组将作为或语句工作。事实证明,它更像是一个和语句。

<ul>
    <li ng-repeat="company in companies | filter:filters{type: ['a', 'b']}">
        {{company.name}}
    </li>
</ul>

上面的代码将列出“第一家公司”,而我希望它同时列出“第一家公司”和“第二家公司”。我知道我可以从控制器内部操作 $scope.companies 数据集,但我想知道是否有任何“本地”方法可以首先实现这一点。

此致!//理查德

4

1 回答 1

12

您唯一的选择是使用使用函数的过滤器:

<ul>
    <li ng-repeat="company in companies | filter:customFunction">
        {{company.name}}
    </li>
</ul>

在哪里

$scope.customFunction = function(item){ /* true if you want item, false if not */ }

来源:http ://docs.angularjs.org/api/ng.filter:filter#parameters

于 2013-08-17T11:32:19.653 回答