简化使用ngFor的ngClass条件

Pim*_*ert 1 typescript ng-class ngfor angular

我有一个数组,有5个字符串值兴奋,快乐,中立,悲伤,愤怒

我使用ngClass和ngFor来简化html,所以我不必为每个值重复5x.

问题是ngClass语句非常笨重,我找不到合适的方法来简化它.有什么方法可以缩短它吗?

<mat-icon *ngFor="let smiley of smileys" svgIcon="emote_{{smiley}}" 
                [ngClass]="{ happy: smiley === 'happy', sad:  smiley === 'sad', neutral:  smiley === 'neutral', angry:  smiley === 'angry', excited:  smiley === 'excited'}" (click)="selected(smiley, $event)"></mat-icon>
Run Code Online (Sandbox Code Playgroud)

先感谢您!

Ngu*_*ien 5

你可以简单地写

[ngClass]="smiley"