1

我对 angularjs 中的过滤文本有疑问。

我有一个名为“用户”的联系人 JSON 数组

[{ "contactId": 1, "contactName": "Anil", "contactEmail": "anil@domain.com", "contactMobile": "1111111111" }, { "contactId": 2, "contactName": "Pankaj", "contactEmail": "pankaj@domain.com", "contactMobile": "2222222222" }, { "contactId": 3, "contactName": "John", "contactEmail": "john@domain.com", "contactMobile": "333444555" }]

用于搜索过滤器的 HTML

<div>
  <label>Name:</label>
  <input type="text" ng-model="nameFilter" placeholder="Enter a name here">
  <hr>
  <h1>Hello {{nameFilter}}!</h1>
<ul ng-controller='MyController'>
    <li ng-repeat="user in users | filter:nameFilter">{{ user.contactName }}</li>
</ul>
</div>

在 HTML 中,我只打印contactName,因为我只想使用上面的文本框过滤“姓名”,而不是使用contactEmail 或contactMobile ...但过滤选项是使用contactEmail 和contactMobile 过滤数据,因为JSON 具有这些对象...。但如果不从 JSON 数组中删除 json 对象(contactEmail 和contactMobile),我如何仅使用contactName 过滤数据。

4

1 回答 1

4

您可以使用 object 而不是 String 作为键。请参阅: http ://docs.angularjs.org/api/ng.filter:filter

<input type="text" ng-model="nameFilter.contactName" placeholder="Enter a name here">
于 2013-06-19T07:22:21.843 回答