我試圖將我的結果集限制爲一個固定的數字。我可以使用limitTo
和ng-repeat
,但這會限制項目,而不管其當前可見性,並從DOM中刪除項目。我想限制在一些可見的項目,同時保持DOM中的所有內容。使用ng-repeat和limitTo限制顯示的可見項數
這是我現在的代碼。我的目標是始終在列表中顯示不超過50個項目,即使items
包含500個項目。
<div ng-repeat="item in items | limitTo: 50">
<div ng-show="item.visible">
<p>item.id</p>
</div>
</div>
這最初將限制到50項,但是如果我過濾列表(通過修改item.visible上的某些項),列表從未示出了在50的範圍內的物品 - 500,而是顯示小於50項目。限制ng-repeat
的正確方法是什麼,以便它只對可見項目計入限制限制?
這不是一回事,因爲過濾器從DOM中刪除項目(如ng-if),而不是僅僅修改可見性(如ng-show)。我正在尋找一個適用於ng-show的解決方案。 – Bill
你想在DOM中保留隱藏元素的原因是什麼? – bekite
不斷添加和刪除它們很慢。使用ng-show,過濾的體驗是瞬時的,使用ng - 如果在更新的結果顯示之前有輕微的打嗝。 – Bill