问题描述
我正在尝试将我的结果集限制为固定数量.我可以将 limitTo
与 ng-repeat
一起使用,但这会限制项目,而不管它们当前的可见性如何,并从 DOM 中删除项目.我想限制可见项目的数量,同时将所有内容保留在 DOM 中.
这是我当前的代码.我的目标是始终在列表中显示不超过 50 个项目,即使 items
包含 500 个项目.
<div ng-show="item.visible"><p>item.id</p>
我正在尝试将我的结果集限制为固定数量.我可以将 limitTo
与 ng-repeat
一起使用,但这会限制项目,而不管它们当前的可见性如何,并从 DOM 中删除项目.我想限制可见项目的数量,同时将所有内容保留在 DOM 中.
这是我当前的代码.我的目标是始终在列表中显示不超过 50 个项目,即使 items
包含 500 个项目.
<div ng-show="item.visible"><p>item.id</p>
这最初将限制为 50 个项目,但如果我过滤列表(通过修改某些项目的 item.visible),该列表从不显示 50 - 500 范围内的项目,而是显示少于 50 个项目.限制 ng-repeat
以便它只将可见项目计入限制限制的正确方法是什么?
您可以使用:
<p>{{item.id}}</p>
filter:{visible: true}
将返回所有可见项的列表
您可以查看 angularjs 文档以获取有关过滤器过滤器的更多信息.http://docs.angularjs.org/api/ng.filter:filter
I'm trying to limit my result sets to a fixed number. I can use limitTo
with ng-repeat
, but this limits items regardless of their current visibility and removes items from the DOM. I want to limit to a number of visible items while keeping everything in the DOM.
Here is the current code that I have. My goal is to always show no more than 50 items in the list even though items
contains 500 items.
<div ng-repeat="item in items | limitTo: 50">
<div ng-show="item.visible">
<p>item.id</p>
</div>
</div>
This will initially limit to 50 items, but if I filter the list (by modifying item.visible on some items), the list never shows items in the range of 50 - 500 and instead displays less than 50 items. What's the right way to limit an ng-repeat
so that it only counts visible items towards the limit restriction?
You can use:
<div ng-repeat="item in items | filter:{visible: true} | limitTo: 50">
<p>{{item.id}}</p>
</div>
filter:{visible: true}
will return a list of all visible items
You can take a look at the angularjs docu for more information on the filter filter.http://docs.angularjs.org/api/ng.filter:filter
这篇关于使用 ng-repeat 和 limitTo 限制显示的可见项的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!