Angular - 单击时更改字体真棒图标颜色

mgi*_*rni 5 mouseclick-event font-awesome angular

我使用以下 HTML 创建了一个名为“like”的组件:

<div (click)="onClick()">
   <i class="fas fa-heart" [class.active]="isActive"></i>
</div>
Run Code Online (Sandbox Code Playgroud)

当我点击图标时,它应该改变变量“isActive”,因此图标的颜色也应该改变。这是.ts:

onClick() {
    this.isActive = !this.isActive;
  }
Run Code Online (Sandbox Code Playgroud)

CSS:

.fa-heart {
    color: #ccc;
}

.fa-heart.active {
    color: deeppink;
}
Run Code Online (Sandbox Code Playgroud)

但是,单击时不会添加或删除“活动”类。为什么?

Vit*_*vzh 3

您应该使用以下语法:

<div (click)="onClick()">
   <i class="fas fa-heart" [ngClass]="{'active': isActive}"></i>
</div>
Run Code Online (Sandbox Code Playgroud)