Кажется, что это должно быть просто, я просто не могу найти ответ.angularjs - фильтр по нескольким моделям
Скажем, у меня есть массив данных, изложенных как в следующем:
friends = [{name:'John', age:60, location:'Brighton', street:'Middle Street'},
{name:'Bob', age:5, location:'Brighton', street:'High Street'}];
Теперь я хочу, чтобы фильтровать данные на основе ввода текста, как так:
<input ng-model="searchText">
<ul>
<li ng-repeat="friend in friends | orderBy:'name' | filter:searchText">
{{friend.name}} - {{friend.location}}</li>
</ul>
Этот отлично работает, но он фильтрует входной текст на основе каждого атрибута объекта-друга (имя, возраст, местоположение и улица). Я хотел бы иметь возможность фильтровать только по имени и местоположению (без учета возраста и улицы). Возможно ли это без специального фильтра?
Спасибо, работает красиво. Единственное, что стоит упомянуть, это то, что мне нужно было преобразовать текст в нижний регистр и добавить if (! $ Scope.searchText) return 1; чтобы заставить его работать. – user2424495
Просто отметить - добавление 'if (! $ Scope.searchText) return 1;' приведет к возврату всех результатов (без фильтрации), если текст поиска не вводится. Это подкрепление этого подхода в отношении подхода, который я перечисляю, если вам это нужно. – KayakDave