我有以下数据:
organizations:[{
name: "foo",
contacts: [{
firstName = "John",
lastName = "Doe",
email = "john.doe@email.com"
},...]
},...]
然后我有一个表格列出所有组织,我想知道是否可以根据firstName过滤器或电子邮件过滤器过滤表格中的行。
例如我有这段代码:
<input type="text" id="name" ng-model="search.name">
<tr ng-repeat="organization in organizations | filter:search">
<td>{{organization.name}}</td>
<td>{{client.contacts[0].firstName}} {{ client.contacts[0].lastName }}</td>
<td>{{client.contacts[0].email}}</td>
</tr>
它只能通过'name'字段进行过滤。我试过这样的事情:
<input type="text" id="firstName" ng-model="search.contacts">
但它会搜索contacts数组中对象的所有字段,但我想专门搜索firstName。我该怎么办?
答案 0 :(得分:-1)
使用像filter:filterBy
这样的过滤功能。
示例(依赖于underscore.js):
scope.filterBy = function(row) {
return !!_.where(row.contacts, {firstName:scope.search.name}).length;
}