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