javascript - limitTo 过滤前查询过滤的 ng-repeat 数据的长度

根据对 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>

要清楚,如果有 100 个项目来自 data | filter: queryitemsPerPage = 10,然后在我的例子中,我希望 filtered.length 为 100,而不是我从中得到的 10:

<div ng-repeat="person in filtered = (data | filter: query) | limitTo: itemsPerPage">
</div>

有没有办法从链中较早的过滤中获取过滤结果的长度,同时仍然在链中应用更多可能影响过滤结果长度的过滤器?

最佳答案

我需要同样的东西,很惊讶没有人回答这个问题......但是你的最后一次尝试让我完成了 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 后可见的列表。

https://stackoverflow.com/questions/31440153/

相关文章:

php - DirectAdmin 上的 OPcache php5.5 已禁用

java - 反向路由 玩 POST payload

xslt - 我们如何使用 jenkins 控制台日志通过和失败计数生成 html 报告?

php - 如何改进 PHP IMAP 的电子邮件提取

session - CakePHP 3 丢失身份验证 session

java - 如何在 Spring 批处理的作业上下文 xml 文件中使用 jobExecution

c#-4.0 - 是否有用于验证的设计模式?

java - 如何在不同网络的 NAT 后面的两个客户端之间建立 TCP 连接?

android - Fused Location 如何确定是使用 GPS 还是网络提供商?

git - 使用仍在审查中的 Cherry pick 推送代码以供审查的工作流