2015-04-09 4 views
0

У меня есть массив объектов, и в объекте у меня есть элемент {url:"that happens to have the word search in it"}, поэтому при фильтрации, если вы набираете «arch», это поле ссылки не позволяет фильтровать, как можно было бы ожидать для остальные объекты.элемент фильтра углового фильтра

Это довольно большой объект, и я бы хотел его найти, я просто хочу исключить элемент url. Я не могу удалить его, поскольку он относится к ссылке, используемой в ng-repeat. У меня также есть поиск местоположения, который мне, вероятно, нужно переоценить, чтобы создать функцию фильтра, которая обрабатывает оба.

Любая помощь была бы очень признательна за благодарность.

Heres a Plunker

+1

'$ watch' внутри угловой контроллер является запах кода. Предпочитайте фильтрацию вместо этого - http://plnkr.co/edit/zcGhOzxRfjUADKQGICFH?p=preview – miqid

ответ

0

Вы можете создать searchFilter в контроллере. Поместите это в HTML:

<input name="searchText" type="text" class="form-control" placeholder="Search" ng-model="vm.searchText"> 

Поместите это в вашем контроллере:

vm.searchFilter = function (obj) { 
    var re = new RegExp(vm.searchText, 'i'); 
    return !vm.searchText || re.test(obj.title) || re.test(obj.city); 
}; 

Тогда это на нг-повтора:

<tr ng-repeat="items in vm.myitems | filter:vm.searchFilter"> 
Смежные вопросы