typescript - 我如何在 Angular 4 的 [ngClass] 中同时使用 map 和数组?
在 Angular 4 中,我如何在 [ngClass] 中同时使用 map 和数组?
例如:
[ngClass]="[{'some-class':whenAppears()}, someReturnedClass()]"
其中 someReturnedClass 是:
someReturnedClass() {
return 'someClassName'
}
我尝试了这样:[ngClass]="[{'some-class':whenAppears()}, someReturnedClass()]"
和 [ngClass]="[{'some-class':whenAppears()}]" class="someReturnedClass()"
和 [ngClass]="{'some-class':whenAppears(), '{{someReturnedClass()}}':true}"
但是首先——会报错,其次会替换类,第三也不会工作 :(
如何在不改变当前逻辑的情况下进行合并?
答案#1
你可以使用以下语法。
[ngClass]="[whenAppears() ? 'some-class': '', someReturnedClass()]"
Plunker 演示。
答案#2
试试这个:
<div [ngClass]="someReturnedClass()" [class.some-class]="whenAppears()" ></div>
