2017-07-18 130 views
1

實現兩個paginations與我非常新的角度,我想知道是否有任何的方式來增加由2而不是1角2:增量* ngFor 2或在分頁

我的ngFor環我試圖在分頁中實現兩個分頁,其中需要循環增加2。

我得到的對象有in。讓我們說用戶和他們的地址列表。

(第一NgFor是2到分頁用戶如果我得到15個用戶。用戶將在一個頁面中顯示)

li *ngFor="let user of Users | paginate: { itemsPerPage: 1, currentPage: p };let i = index" 
{{user[i].firstName}} <--Displaying first userName--> 

(二NgFor是顯示第一用戶的地址列表。可以說,他已經20個地址,我將它切爲3或4每頁和分頁的其餘部分)

*ngFor="let address of user[i].address| objectValues |slice:addresspageNumber*2-2:addressPageNumber*5 ; let j = index " 
<--First child Pagination code--> 

{{user[i+1].firstName}} <--Displaying second userName--> 

(第三NgFor是顯示第二用戶的地址的列表。可以說,他有20地址,我會將它分成3或4頁,然後分頁)

*ngFor="let address of user[i+1].address| objectValues |slice:addresspageNumber*2-2:addressPageNumber*5 ; let j = index "> 
<th scope="row">{{address.streetno}} 
<--Second child Pagination code--> 

<--Parent Pagination code--> 

現在,如果我不增加第一個ngFor兩個,在下一頁第二個用戶將再次顯示,我不想。

我要麼由2 seperately遞增或實現分頁有兩個孩子的,我不能這樣做在一個for循環

所有我想要的是兩個獨立的分頁的與實現在一個分頁

Object1 .name object1.address.street object1.address.pin - 分頁顯示其他地址。

Object2.name object2.address.street object2.address.pin - 第二個分頁顯示其他地址。 - 主分頁點擊後會顯示兩個對象的詳細信息

回答

0

我不認爲你可以將*ngFor加2,因爲它的目的是顯示一個數組類型的數據;加上我不太瞭解你的要求。

但是,您可以將*ngIf%運算符結合使用,以便不對每個第二個條目作出反應。

這可能做的工作

<li *ngFor="let item of items; let i = index"> 
    <span *ngIf="i % 2 === 0"> // or <ng-template if it is better here> 

任何迭代值可以達到同樣的效果。只需用例如2替換。 10增加10.

+0

如果事情變得更加複雜,您還可以使用[ngSwitch}。一個例子是在這裏:https://angular-2-training-book.rangle.io/handout/directives/ng_switch_directives.html – JGFMK

+0

@JGFMK這裏沒有任何意義...是嗎? – smnbbrv

+0

不適用於這個特殊的用例..但是我想到其他人會在稍後會遇到類似的問題,需要3個或更多的變體......可能是重新渲染頭文件,頭文件+描述文件,頭文件+描述文件和敘述文件等... – JGFMK