如果该项目存在于数组中,我正在尝试触发一个类,但是我无法弄清楚。
<div *ngFor="let item of someList">
<button [ngClass]="{'isSelected': selectedArr contains item}"></button>
..
selectedArr
是包含某些项目的数组。
答案 0 :(得分:1)
selectedArr.includes(item)
将起作用。参见:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
请注意,如果item
是一个对象,则selectedArr
必须具有 same 对象,而不仅仅是具有相同属性的对象。否则,您将不得不寻找一种不同的方法来比较对象的属性,以查看是否存在匹配项。无论如何,任何有效的JavaScript语句都可以用作isSelected
的值。
<button [ngClass]="{'isSelected': selectedArr.includes(item)}"></button>
答案 1 :(得分:0)
使用也可以使用[class.className]
来完成。
<button [class.isSelected]="selectedArr.indexOf(item) != -1"></button>