我在列表中显示了按钮。当我单击它们时,我想更改它们的颜色。但是,当我单击它时,它将更改该列表中所有按钮的颜色。但是我只想更改单个按钮图标。
这是我的HTML
<li *ngFor="let datum of filteredData; let i = index">
<button mat-mini-fab (click)="onLike(datum);onToggle()" [style.background-color]="toggle ? 'green' : 'red'">
<mat-icon svgIcon="check" aria-hidden="false" aria-label="Example thumbs up SVG icon"></mat-icon>
</button>
</li>
这是我的逻辑
toggle=true;
onToggle() {
this.toggle = !this.toggle;
}
任何帮助,将不胜感激!
这是正确的,因为您已经在ngFor中编写了代码, 尝试这样的事情。单击可添加和删除类,并在CSS中更改颜色。
因此,您显然需要跟踪单击的按钮。并根据跟踪器的状态更改颜色。这很容易做到,
第1步:引入跟踪变量
步骤2:将onToggle函数更改为
要么
步骤3:更改函数调用以传递唯一ID的预点击: