@maxprof
Студент

Как работают простые фильтры в Ангуляре?

Здравствуйте, есть 2 варианта, оба делают только одну половину работы, а как обьеденить не знаю)
<tr ng-repeat="product in products | filter:query | orderBy:predicate | orderBy:price">
Первый вариант все сортирует и выводит идеально Но
<h1 ng-show="products.length == 0">Empty products</h1>
В этой строчке выводится все количество продуктов в массиве.(А не количество оставшихся после сортировки) Плюс кнопка
<a href="#" class="btn btn-danger" ng-click="clear()">Clear</a>
Не обнуляет фильтр.
Второй вариант
<tr ng-repeat="product in products = (products | filter:query | orderBy:predicate | orderBy:price)">

Тут как-то испортилась сортировка,но фильтры обнуляются и выводится только количество отфилтрованых товаров.
Короче оба варианта работают только на 50%.
https://jsbin.com/nuvuwileje/edit?html,js,output

Первый вариант работает лучше,но как настроить отображение количества только отфильтрованых продуктов??
  • Вопрос задан
  • 197 просмотров
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
оба делают только одну половину работы, а как обьеденить не знаю

Сделайте нужную вам коллекцию в контроллере, а лучше в сервисе. Прекратите использовать фильтры для коллекций. Да можно, но только для очень простых случаев и только для того что бы быстро сделать на коленке.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы