Angular2 - 开关组件

Angular2 - Switch Components

假设我有一个元素列表。第一个是课程,第二个是考试,第三个是课程,第四个是课程。

我想显示此列表。所以我用 *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>

这似乎不是最好的解决方案。

不确定您认为 "the best" 是什么样子,但如果您想使用 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>