检查角度过滤器中的相等性

时间:2014-06-06 00:06:03

标签: json angularjs angularjs-filter

我的对象类似于下面列出的对象:

fields = [{id: 1}, {id: 2}, {id: 3}]
rules: [{name: "A", field: {id: 1}}, {name: "B", field: {id: 2}}]

我想通过单个字段ID过滤每个规则。现在我有:

<div ng-repeat="f in fields">
    <h4>{{f.id}}</h4>
    <li ng-repeat = "rule in rules | filter: {field.id: f.id}">
        {{rule.name}}
    </li>
</div>

但是,以下过滤器不返回任何元素。如何使过滤器显示field.id等于f.id?

的规则

1 个答案:

答案 0 :(得分:1)

请改用:

<div ng-repeat="f in fields">
    <h4>{{f.id}}</h4>
    <li ng-repeat = "rule in rules | filter:{ field: {id: f.id} }">
        {{rule.name}}
    </li>
</div>

匹配过滤器中的对象结构。

以下是demo,其中我添加了另一个属性age(int),以证明过滤器仅适用于id