javascript - AngularJS 试图找到使用 limitTo 的过滤数组的总长度

标签 javascript angularjs filter

因此,在我使用 LimitTo 防止应用程序一次显示超过一定数量的元素之后,我试图在 AngularJS 中获取过滤数组的总长度。代码如下:

<span>Results: {{filtered.length}}</span>
<li ng-repeat = "element in filtered = (array | filter:selectedTag | limitTo:load.number)">

我预计总结果大约为 150 个,但我将其限制为一次显示 25 个。我希望结果显示过滤后数组的总长度,而不仅仅是有限版本。是否有 Angular 代码能够在不再次运行过滤器的情况下获得它?

最佳答案

您可以在ng-repeat 表达式中即时 创建一个新变量。这个新变量可以包含对过滤结果的引用,并且可以在 ng-repeat 之外使用:

PLUNKER DEMO

<div>Total: {{array.length}}</div>
<div>Filtered: {{filtered.length}}</div>

<ul>
  <li ng-repeat="element in (filtered = (array | filter:selectedTag)) | limitTo:load.number">
      {{element}}
  </li>
</ul>

这样过滤循环将只运行一次。

关于javascript - AngularJS 试图找到使用 limitTo 的过滤数组的总长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21355376/

相关文章:

ruby-on-rails - 使用 Rails 服务器进行 AngularJS 模板翻译的方法

javascript - AngularJS 指令 : Pass dynamically created object as attribute for nested directive

listview - QML ListView 过滤项目

C++/QT - QFileDialog::getOpenFileName 过滤器 *.xml 禁用名称中包含日文字符的文件

javascript - 使用 Jquery 检查大写/小写/数字

javascript - 显示评论而不刷新

javascript - 如何从 ng-include AngularJs 中指定的 url 检索查询字符串参数

PHP 按类别过滤搜索结果

javascript - MongoDB:用反值更新字段编号?

javascript - 在 Javascript 中延迟 ajax 响应