Новый для углового!
Я создал очень простой фильтр, которым я вполне доволен. Однако я хочу перенести встроенный фильтр в функцию .filter()
- я надеюсь использовать его как filter: dataFilter
или что-то подобное.
Итак, в настоящее время у меня есть некоторые поля выбора:
<select ng-model="search.foo"><!-- options --></select>
<select ng-model="search.bar"><!-- options --></select>
И ng-repeat
отсортированных данных:
<div ng-repeat="data in response.data | filter:{foo: search.foo, bar: search.bar}">
<!-- display sorted data -->
</div>
Выше в ng-repeat
- это то, что я бы назвал встроенным фильтром, который я хочу абстрагировать.
Как мне это сделать?
Все рекомендации были оценены.
Цель моей конечной игры - показать сообщение, когда в фильтре нет результатов. Я считаю, что фильтр должен быть "абстрагирован", чтобы это работало? Что-то вроде:
<p ng-show="(response.data | filter:blahFilter).length == 0">No results found.</p>
Я бы посоветовал вам переместить это в контроллер. Тогда внутри там просто используйте свой фильтр как вызов функции
$scope.myData = $filter('blaFilter')(response.data)
тогда
<p ng-show="myData.length == 0">No results found.</p>