Comment obtenez-vous la longueur/le nombre d'éléments renvoyés par un prédicat de filtre dans AngularJS?
J'ai réussi à trouver une excellente réponse sur le groupe Google AngularJS, grâce à Pawel Kozlowski.
ng-repeat="item in filtered = (items | filter:filterExpr)"
Pour créer la liste filtered
à la volée, vous pouvez utiliser filtered.length
n'importe où dans l'étendue actuelle pour afficher le nombre.
Essaye ça :
HTML
<span ng-bind="nb"></span>
Javascript
$scope.nb = $filter('filter')(items, filterExpr).length;
En HTML Template Binding
{{ filter_expression | filter : array : expression : comparator}}
En JavaScript
$filter('filter')(array, expression, comparator)
je devais également afficher la longueur d'un tableau filtré et celui-ci fonctionnait pour moi:
{{ (items | filter:filterExpr).length }}
En fait, cela fonctionnera avec le filtre d'affichage (orderBy
, limitTo
)
item in list = ( item_array|filter:some_str) | orderBy: pref | limitTo: nItemToDisplay
si vous devez afficher 5 éléments à la fois, vous pouvez toujours utiliser list.length. Utile pour la pagination ou en datable.