如何获得AngularJS中过滤谓词返回的项目的长度/数量?
答案 0 :(得分:75)
感谢Pawel Kozlowski,我在AngularJS Google Group上找到了一个很好的答案。
ng-repeat="item in filtered = (items | filter:filterExpr)"
即时创建filtered
列表,您可以在当前范围内的任何其他位置使用filtered.length
来显示计数。
答案 1 :(得分:6)
试试这个:
<强> HTML 强>
<span ng-bind="nb"></span>
<强>的Javascript 强>
$scope.nb = $filter('filter')(items, filterExpr).length;
在HTML模板绑定中
{{ filter_expression | filter : array : expression : comparator}}
在JavaScript中
$filter('filter')(array, expression, comparator)
答案 2 :(得分:4)
我还必须显示已过滤数组的长度,这个对我有用:
{{ (items | filter:filterExpr).length }}
答案 3 :(得分:0)
事实上,这适用于显示过滤器(orderBy
,limitTo
)
item in list = ( item_array|filter:some_str) | orderBy: pref | limitTo: nItemToDisplay
如果您需要一次显示5个项目,您仍然可以使用list.length。可用于分页或数据表。