如何过滤 AngularJS 中的数据

How to filter data in AngularJS

我正在尝试实现一个简单的搜索文本字段。 我希望它通过过滤姓名和 phone 号码来显示联系人。似乎每当我输入一个字母时,它都会向我显示名称中包含该字母的所有联系人姓名,但它还会搜索每个联系人的其他属性(地址、城市、邮件等),所以如果联系人的名字不包含字母,它仍然显示,因为它的其他属性包含它。 显然这不是我想要实现的。

我希望它能够按姓名和 phone 号码过滤联系人。

<input type="text" ng-model="query" placeholder="search"/>
<div ng-repeat="c in contacts|filter: query"> ...<\div>

我该如何解决这个问题? 感谢帮助

基于一个字段进行过滤很简单:只需将过滤器更改为 | filter:{name: query}

如果两个字段 必须匹配,则基于两个字段进行过滤很简单:只需将过滤器更改为 | filter:{name: query, phoneNumber: query}

如果您希望 either 匹配,则很难基于两个字段进行过滤。 Here's someone who had the same question. The first response has a simple hack to make things work if you're just playing around, but if you have more data you'll want to work through this blog post.

顺便说一句,您的问题可能被否决了,因为这对 Google 来说并不难。搜索 [angularjs 按字段筛选] 让我走到了一半,然后 [ng-repeat filter multiple fields] 把我带到上面链接的结果。