延續上一篇的範例: 請按此下載.
利用*ngFor來做迴圈顯示完整列表
首先開啟src/app/heroes/heroes.component.ts
設定一個變數heroes
heroes: Hero[] = [
{ id: 11, name: 'Mr. Nice' },
{ id: 12, name: 'Narco' },
{ id: 13, name: 'Bombasto' },
{ id: 14, name: 'Celeritas' },
{ id: 15, name: 'Magneta' },
{ id: 16, name: 'RubberMan' },
{ id: 17, name: 'Dynama' },
{ id: 18, name: 'Dr IQ' },
{ id: 19, name: 'Magma' },
{ id: 20, name: 'Tornado' }
];
接著開啟app.component.html,利用*ngFor來迴圈式的顯示列表內容
<ul class="heroes">
<li *ngFor="let hero of heroes">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
</ul>
這時網頁上就可以看到成果如下圖:

更多資訊有關於ngFor
使用(click)來設定觸發事件
開啟src/app/heroes/heroes.component.ts,在li裡面增加click的事件
<li *ngFor="let hero of heroes" (click)="onSelect(hero)">
在src/app/heroes/heroes.component.ts增加處理的函數
selectedHero: Hero;
onSelect(hero: Hero): void {
this.selectedHero = hero;
}
以條件式去增加元件的類別
打開heroes.component.html,在li內增加 [class.要增加的類別名稱]=”條件式為true時增加”
<li *ngFor="let hero of heroes"
[class.selected]="hero === selectedHero"
(click)="onSelect(hero)">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
這樣當hero === selectedHero為真時,這個li就會被加上selected這個類別
接下來再到src/app/heroes/heroes.component.css設定該類別的CSS,就能突顯現在所選擇的是那一個了
.selected{
color:red;
}
