Использование фильтра angularJS для поиска в другом объекте

Я хочу использовать фильтр Angular для ng-repeat для поиска в другом объекте, а не в объекте, используемом в ng-repeat. Могу ли я сделать это или есть лучший способ сделать это.

Вот ссылка на Plunker.

Я хочу искать в объекте all_data, а не в sample_data.


person Ahmed Hashem    schedule 11.02.2014    source источник
comment
Почему вы хотите это сделать? Повторяющиеся данные не оптимальны. Почему бы просто не повторить all_data? И насколько я знаю, я не думаю, что это возможно.   -  person Gecko    schedule 11.02.2014
comment
Возможно, вам придется написать собственный фильтр. Чего вы пытаетесь достичь, отображая один массив и фильтруя другой?   -  person kubuntu    schedule 11.02.2014


Ответы (1)


Вы можете использовать этот трюк:

<div ng-init="filteredItems = all_data"/>

<input ng-model="searchText" ng-change="filteredItems = (all_data | filter: searchText)">

В начале filteredItems равно all_data. Когда вход searchText изменился, filteredItems тоже изменился.

Вы можете использовать {{filteredItems}} в представлении и $scope.filteredItems в контроллере.

Я настраиваю твой поршень, пожалуйста, посмотри.

Планкер

person Artyom Pranovich    schedule 11.02.2014