2017-05-03 4 views
0

Sagen wir, ich habe eine Liste von Elementen. Der erste ist ein Kurs, der zweite ist eine Prüfung und der dritte ist ein Kurs wieder und der vierte ist ein Lehrplan.Angular2 - Switch Components

Ich möchte diese Liste anzeigen. Also mache ich eine Schleife mit * ngFor, und ich habe 3 verschiedene Komponenten für meine Listenelemente.

Ich bin auf der Suche nach der besten Lösung.

<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> 

Es scheint nicht die beste Lösung zu sein.

Antwort

1

Nicht sicher, was Sie als „das Beste“ aussieht, aber wenn Sie ngSwitch zu verwenden suchen, hier ist es

<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>