2017-10-28 35 views
0
<div ng-repeat="item in items"> 
    <div ng-if="need something here i.e. $index = ..."> 
    </div> 
    ..data.. 
</div> 

所以我有上面的模式。從服務器獲取items列表。按下「加載更多」按鈕時,第二頁被拉出。一個頁面默認包含8個項目。但是這可以由用戶指定,因此可以將其設置爲不同的值(例如9,10)。以默認值8,$指數值看起來像第1頁以下:ng-repeat,重複塊每隔n次顯示項目

0 
1 
2 
3 
4 
5 
6 
7 

如果有更多的頁面被拉到:

0 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
... and so one 

我想要的東西應用ng-if使其顯示塊上的每4個項目。因此它遵循公式:3 + i*(total_items_per_page)。因此,對於一個列表時total_items_per_page = 8

0 
1 
2 
3 
    <--- here 
4 
5 
6 
7 
8 
9 
10 
11 
    <--- here 
12 
13 
14 
15 
16 
17 
18 
19 
    <--- here 
20 
21 
... and so one 

我試過$index == (page_number-1)*total_items_per_page + 3,這工作,但顯然被壓負載更多的時候刪除當前頁以上項目。尋求解決這個問題或尋求更好的解決方案。

編輯:我也試圖避免預先定義的數組,使這個儘可能靈活可變total_items_per_page

+0

爲什麼不使用分頁? –

+0

預期結果/目標不是很清楚....可能爲什麼你還沒有答案 – charlietfl

回答

1

你可以利用這一點,這對所有的情況下,4,12,20,28正確... :

ng-if="($index+8) % 8 == 4"