我有一个数据数组,其中包含许多对象(JSON格式)。以下可以假定为此数组的内容:
var data = [ { "name": "Jim","age" : 25 },{ "name": "Jerry","age": 27 } ];
现在,我将这些详细信息显示为:
<div ng-repeat="person in data | filter: query"> </div
现在,我有另一个位置,其中显示当前显示的人/人的数量,即Showing {{data.length}} Persons
我想要做的是,当用户搜索一个人,并且显示的数据基于查询过滤时,“显示…”也会更改当前显示的人的值。但它没有发生。它总是显示数据中的总人数,而不是过滤后的数据 – 如何获得过滤数据的计数?
对于Angular 1.3(credit to @Tom)
使用别名表达式(文档:Angular 1.3.0: ngRepeat,向下滚动到“参数”部分):
<div ng-repeat="person in data | filter:query as filtered"> </div>
对于Angular之前的1.3
将结果分配给新变量(例如过滤)并访问:
<div ng-repeat="person in filtered = (data | filter: query)"> </div>
显示结果数:
Showing {{filtered.length}} Persons