簡體   English   中英

Ang-directive使用ng-repeat,ng-show“顯示更多”和延遲加載

[英]Angular directive with ng-repeat, ng-show “Show more” and lazy-load

我使用這個指令,迭代一個數組“myArr”,過濾幾個條件。

<myDirective 
    myData='item' 
    ng-repeat="item in filteredArr = (myArr | filter:searchField | filter:checkboxFilter)" 
    ng-show="$index < visible" 
/>

這給了我兩個問題,我想得到一些意見:

a)ng-show部分在那里,因為我有一個處理這個的條件:

<p>
    <a ng-click='visible=visible+10' ng-show='visible < filteredArr.length'>Show more</a>
</p>

為了顯示或隱藏“顯示更多”部分。 我無法想出切換這個和/或物品本身的另一個想法。 一旦我們開始,$ scope.visible在控制器內部設置為10。 我無法使用limitTo,因為它不能讓我確定是否有更多要顯示,因為它當然會“切斷”數組到設定的限制。

b)在指令內部,模板打印出一個

<img ng-src="..."> 

標簽。 只要在上述結構中沒有顯示這些圖像,我怎么能阻止它們加載?

非常感謝提前!

使用ng-if而不是ng-show

ng-show不同,falsey ng-if從DOM中刪除元素。

編輯:

此外,您實際上可以使用limitTo過濾器,這將使您的代碼更清晰:

<div ng-init="limit = 2">
  <foo ng-repeat="item in items | limitTo: limit as results"></foo>
</div>
<button ng-hide="results.length === items.length" 
        ng-click="limit = limit +2">show more...</button>

plunker

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM