我在angularjs中遇到Filter文本的问题。
我有一个名为“users”的联系人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,因为我想使用上面的文本框仅过滤“Name”,而不是使用contactEmail或contactMobile ...但过滤器选项是使用contactEmail和contactMobile过滤数据,因为JSON具有这些对象。 ...但是如果不从JSON数组中删除json对象(contactEmail和contactMobile),我如何只使用contactName过滤数据。
答案 0 :(得分:4)
您可以使用object而不是String作为键。 请参阅:http://docs.angularjs.org/api/ng.filter:filter
<input type="text" ng-model="nameFilter.contactName" placeholder="Enter a name here">