[英]How to update the style of all the items which are iterated using *ngFor in Angular
當單擊列表外的按鈕時,如何將樣式應用於列表中使用*ngFor
迭代的所有項目。
<button (click)="markAllAsChecked();">Mark All as Checked</button>
<ion-list>
<div *ngFor="let item of items">
<ion-item (click)="this.item.checked = !this.item.checked;">
<div class="item" [ngStyle]="{background: item.checked ? 'green': 'red'}">
{{item.name}}
</div>
</ion-item>
</div>
</ion-list>
單擊“全部標記為已檢查”按鈕時,我希望所有項目的背景顏色都變成綠色。
我使用 Stackblitz 創建了一個工作示例。 有人可以幫忙嗎?
您需要迭代每個項目並checked
為真。
markAllAsChecked(){
this.items.forEach(item => item.checked = true);
}
如果你想在同一個按鈕上切換背景顏色,
markAllAsChecked(){
this.items.forEach(item => item.checked = !item.checked);
}
這是工作鏈接。
使用[ngClass]
而不是[ngStyle]
<div class="item redBackgroundClass" [ngStyle]="{'greenBackgroundClass': item.checked}">
這里的鍵是 CSS 類,當值中給定的表達式計算為真值時添加這些類,否則它們將被刪除
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.