volkov_p_v
@volkov_p_v
FrontEnd разработчик

Можно ли узнать количество элементов после фильтрации в Angularjs?

Для фильтрацию делаю во view.
<ul>
  <li data-ng-repeat="item in list | filter:search>
    <span>{{item.name}}</span>
  </li>
</ul>

Как узнать какое кол-во данных осталось после фильтрации?
  • Вопрос задан
  • 1254 просмотра
Решения вопроса 1
astralo
@astralo
для "спасибо" есть кнопка [Нравится]
{{ (data | filter:filter).length }}
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
не используйте фильтрацию коллекций в шаблонах, готовьте данные в контроллере. Эта фича годится только для прототипов, в продакшене такое лучше не делать. Фильтры должны возвращать строки и быть максимально быстрыми. Опять же вы можете в контроллер инджектить фильтры (filterFilter в вашем случае)

А ели у вас отфильтрованная коллекция есть в контроллере, то вывести ее длину вообще не проблема.
Ответ написан
@JIakki
angular.module('app', [])
.controller('aCtrl', function() {
  this.count = 0;
})


<ul ng-controller='aCtrl as ctrl' >
  <li data-ng-repeat="item in [23,4,5,6,7] | filter:search">
    <span ng-init='ctrl.count = ctrl.count + 1'>{{item.name}}</span>
  </li>
  </ul>


как то так
Ответ написан
P1RATE
@P1RATE
<li data-ng-repeat="item in list | filter:search as filteredData">
{{filteredData.length}}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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