Если я использую ng-repeat
с filter
, как определить, сколько элементов отфильтровано (или наоборот, сколько показано)? В частности, я хотел бы создать панель поиска, которая создает фильтр, но я также хотел бы показать, сколько элементов скрыто фильтром (например, что-то вроде Showing 6 of 10 results
).Определение количества результатов, отображаемых фильтром ng-repeat
ответ
Пожалуйста, смотрите здесь http://jsbin.com/xuyuy/1/edit
В ретранслятора вы можете создать новый массив, т.е.: personsfiltered
ng-repeat="person in personsfilterd = (persons | filter : search)
и после этого просто отображать длину Orignal массива и отфильтрованный массив:
Showing {{personsfilterd.length}} of {{persons.length }} results
Полный код здесь:
var app = angular.module('app', []);
app.controller('fCtrl', function($scope) {
$scope.persons = [
'Mike', 'Tom', 'Tim', 'Jim', 'Ken'
]
});
<div ng-app="app">
<div ng-controller="fCtrl">
<input type="text" ng-model = "search"> Showing {{personsfilterd.length}} of {{persons.length }} results
<li ng-repeat="person in personsfilterd = (persons | filter : search)">{{person}}</li>
</div>
</div>
Во-первых, это имеет ngRepeat
: $index
, $first
, $middle
, $last
для определения текущего положения. Поэтому, я думаю, вас может заинтересовать $last
. Я не уверен, будет ли он собирать исходный счет или отфильтрованный.
EDIT: Вы можете получить отсчет исходного значения из вашего Ctrl, установив varX.length
и используя, что в вашем шаблоне (HTML код), а затем, при условии, что $last
возвращается окончательный подсчет + 1 (как это 0 на основе) вы можете иметь счетчик после применения фильтра.
Я нашел свой ответ here. Решение заключается в назначении фильтрованных данных новой переменной в ng-repeat
. Потенциально может вызвать некоторые проблемы с памятью, но в моем случае это не очень важно.
- 1. ngRepeat - ограничение количества отображаемых результатов
- 2. Определение количества результатов ViewData
- 3. Ограничение количества результатов, отображаемых в массиве
- 4. PHP - подсчет количества результатов, отображаемых в foreach
- 5. Угловое - ngRepeat Заказ перед фильтром (пагинацией + упорядоченности)
- 6. Ограничение количества отображаемых фидов
- 7. Изменение количества продуктов, отображаемых на странице (для результатов поиска)
- 8. Относительно количества потоков, отображаемых в результате jmeter
- 9. Показывать # результатов рядом с фильтром
- 10. Поиск веб-службы Sharepoint: определение количества полученных результатов
- 11. jQuery Круговое движение: изменение количества отображаемых предметов
- 12. Изменение количества недель, отображаемых в CalendarView
- 13. Недостаточно общего количества слов, отображаемых в таблице
- 14. Ограничение количества символов, отображаемых в ячейке таблицы
- 15. Определение подъема для всех отображаемых типов
- 16. Определение количества терминалов открыто
- 17. Определение неизвестного количества переменных
- 18. Определение количества циклов «while»?
- 19. Определение количества процессоров
- 20. Определение количества возможных комбинаций
- 21. Определение количества выпадающих списков
- 22. определение количества уровней серого
- 23. Показ 5 результатов добавляются первыми 5 результатов, отображаемых в Jquery
- 24. Нет результатов, отображаемых при запросе базы данных
- 25. Форматирование результатов поиска, отображаемых в div
- 26. Variable количества результатов функции
- 27. Определение диапазона макросов excel с применяемым фильтром
- 28. Как создать расширенный вход с фильтром результатов
- 29. Подсчет количества столбцов в наборе данных с фильтром Excel?
- 30. Вложенные ngRepeat в AngularJS
Я использовал это некоторое время, и он отлично работал, но по какой-то причине он переставал работать. Можете ли вы, возможно, остановиться на моем новом вопросе: http://stackoverflow.com/questions/26341910/variable-set-in-ng-repeat-not-being-created –