如何在角度2中动态更改css类名称

时间:2016-09-15 09:19:55

标签: html css angular ionic2

我有两个CSS类名如下

.icon_heart{
     color: #bdbdbd;
}

.icon_heart_red{
    color:#a6b7d4;;
}

我的HTML有一个心形图标

<div class="icon_heart" *ngIf="showheartIcon">
    <ion-icon name="heart" (click)="setWishlistTrue(category.product_id);" class="heart"></ion-icon>
</div>
<div class="icon_heart_red" *ngIf="showheartIconRed">
    <ion-icon name="heart" (click)="setWishlistFalse(category.product_id);" class="heart"></ion-icon>
</div>

这里我有两个div标签,心脏图标最初为灰色,点击后我会将其更改为蓝色

这是我的ts文件代码:

  showheartIcon=true;
  showheartIconRed =false;

  setWishlistTrue(id){
    this.showheartIconRed = true;
    this.showheartIcon = false;
  }

  setWishlistFalse(id){
    this.showheartIconRed = false;
    this.showheartIcon = true;
  }

我有两个不同颜色的图标。

问题

可以更改图标的类别而不是拥有两个心形图标吗?

我在JavaScript中看到我们可以改变它w3schools将类应用于div标签的简单方法,但我是TypeScript的新手。我怎样才能改变班级?

2 个答案:

答案 0 :(得分:13)

<div 
    [class.icon_heart]="!showheartIconRead"
    [class.icon_heart_red]="showheartIconRead">

<div [ngClass]="showheartIconRead ? 'icon_heart_red' : 'icon_heart'">

答案 1 :(得分:3)

除了以上答案。这也是可能的。

<div class="{{showheartIconRead ? 'icon_heart_red' : 'icon_heart' }}">