我有一个包含许多对象(JSON 格式)的数据数组。可以假定以下内容为该数组的内容:
var data = [
{
"name": "Jim",
"age" : 25
},
{
"name": "Jerry",
"age": 27
}
];
现在,我将这些详细信息显示为:
<div ng-repeat="person in data | filter: query">
</div
在这里,查询被建模为一个输入字段,用户可以在其中限制显示的数据。
现在,我有另一个位置显示当前显示的人数/人数,即 Showing {{data.length}} Persons
我想要做的是当用户搜索一个人并根据查询过滤显示的数据时, Showing...persons
也会改变当前显示的人的值.但它没有发生。它始终显示数据中的总人数而不是过滤后的人数 - 我如何获得过滤数据的计数?
最佳答案
对于 Angular 1.3+(感谢 @Tom)
使用别名表达式(文档:Angular 1.3.0: ngRepeat,向下滚动到参数部分):
<div ng-repeat="person in data | filter:query as filtered">
</div>
适用于 1.3 之前的 Angular
将结果分配给一个新变量(例如filtered
)并访问它:
<div ng-repeat="person in filtered = (data | filter: query)">
</div>
显示结果数:
Showing {{filtered.length}} Persons
拨弄一个 similar example .学分转到 Pawel Kozlowski
关于javascript - 如何显示过滤后的 ng-repeat 数据的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15316363/