2017-05-03 66 views
0

假設我有一個元素列表。第一個是課程,第二個是考試,第三個是課程,第四個是課程。Angular2 - 開關組件

我想顯示此列表。所以我用* ngFor做了一個循環,並且我的列表項有3個不同的組件。

我正在尋找最佳解決方案。

<div *ngFor="let item of items"> 
    <course [item]="item" *ngIf="item.type == 1"></course> 
    <exam [item]="item" *ngIf="item.type == 2"></exam> 
    <curriculum [item]="item" *ngIf="item.type == 3"></curriculum> 
</div> 

它似乎並不是最好的解決方案。

回答

1

不知道你認爲是「最好的」的樣子,但如果你正在尋找使用ngSwitch,這裏是

<div *ngFor="let item of items" [ngSwitch]="item.type"> 
    <course [item]="item" *ngSwitchCase="1"></course> 
    <exam [item]="item" *ngSwitchCase="2"></exam> 
    <curriculum [item]="item" *ngSwitchCase="3"></curriculum> 
</div>