因此,在我使用 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
之外使用:
<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/