根据this question的接受答案,如果我想显示过滤的ng-repeat数据的长度,我会这样做:
<div ng-repeat="person in filtered = (data | filter: query)">
</div>
显示结果数量:
Showing {{filtered.length}} Persons
我的问题是,当我还使用limitTo过滤器时,如何使用该简单查询过滤器显示数据的长度:
<div ng-repeat="person in data | filter: query | limitTo: itemsPerPage">
</div>
要明确的是,如果data | filter: query
和itemsPerPage = 10
产生100个项目,那么就我而言,我希望filtered.length
为100,而不是我做的10个:
<div ng-repeat="person in filtered = (data | filter: query) | limitTo: itemsPerPage">
</div>
有没有办法从链中的早期过滤中获取过滤结果的长度,同时仍然在链中应用更多过滤器,这可能会影响过滤结果的长度?
答案 0 :(得分:0)
我需要同样的东西,但没有人回答我感到惊讶...但是您的上一次尝试使我成功了90%,它只需要一副额外的括号:
<div ng-repeat="person in (filtered = (data | filter: query)) | limitTo: itemsPerPage">
</div>
要获得最终列表,我们可以使用别名:
<div ng-repeat="person in (filtered = (data | filter: query)) | limitTo: itemsPerPage as visibleItems">
</div>
filtered
将具有完整的过滤列表,而visibleItems
将仅具有在应用limitTo之后可见的列表。