Bil*_*ill 46 javascript angularjs angularjs-ng-repeat
我试图将结果集限制为固定数字.我可以用limitTo
用ng-repeat
,但无论如何这限制了他们的项目目前的知名度,并删除项目从DOM.我想限制一些可见的项目,同时保持DOM中的所有内容.
这是我当前的代码.我的目标是始终在列表中显示不超过50个项目,即使items
包含500个项目.
<div ng-repeat="item in items | limitTo: 50">
<div ng-show="item.visible">
<p>item.id</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这最初将限制为50个项目,但如果我过滤列表(通过修改某些项目上的item.visible),列表将永远不会显示50 - 500范围内的项目,而是显示少于50个项目.什么是限制一个正确的方式,ng-repeat
以便它只计算可见项目的限制限制?
bek*_*ite 69
您可以使用:
<div ng-repeat="item in items | filter:{visible: true} | limitTo: 50">
<p>{{item.id}}</p>
</div>
Run Code Online (Sandbox Code Playgroud)
filter:{visible: true}
将返回所有可见项目的列表
您可以查看angularjs文档以获取有关过滤器过滤器的更多信息. http://docs.angularjs.org/api/ng.filter:filter
Kos*_*tyn 15
它也可以这样做:
<div ng-repeat="item in items" ng-show="$index<50">
<p>item.id</p>
</div>
Run Code Online (Sandbox Code Playgroud)