我有一个带有名称的数组和带有状态的相同数组(true,false)。我正在遍历所有名称并创建按钮,我希望按钮类在该元素的状态为真时为btn-success,如果为false则为btn-danger。我该怎么做?我试过[ngClass],但它不起作用。
app.component.html:
<div
*ngFor="let element of elements; let index = index"
(click)="changeStatus(index)"
[ngClass]="{'btn-success':statuses[index]===true}"
[ngClass]="{'btn-danger':statuses[index]===false}">
{{element}}
</div>
app.component.ts中的数组
elements = ['Sticky notes', 'Google Drive', 'Phone notes', 'Phone Chrome Tabs', 'Empty OneNote Temp'];
statuses = [false, false, false, false, false];
答案 0 :(得分:2)
您不能使用ngClass
指令中的2个。
传递给ngClass
的值只是一个对象,因此您需要用逗号分隔其中的值,如下所示:
[ngClass]="{'btn-success':statuses[index]===true,
'btn-danger':statuses[index]===false}"
答案 1 :(得分:2)
<button
*ngFor="let element of elements; let index = index"
[ngClass]="statuses[index]?'btn-success':'btn-danger'">
{{element}}
</button>