虽然添加单个类以这种方式运行良好 -
[class.loading-state]="loading"
但是如何添加多个类
如果loading
true
为"loading-state" & "my-class"
,请添加课程 - [class] binding
如何通过{{1}}
完成此操作答案 0 :(得分:50)
您只需使用ngClass
:
这里的第一个,第二个和第三个是类的名称。
而不是真/假,你可以直接把条件放在那里
<div [ngClass]="{'first': true, 'second': true, 'third': false}">...</div>
在你的情况下
<div [ngClass]="{'loading-state': loading, 'my-class': loading }">...</div>
或更短的Veriosn(如@ matko.kvesic所评论)
<div [ngClass]="{'loading-state my-class': loading}">...</div>
答案 1 :(得分:3)
尽管Vivek Doshi的答案是完全正确的,但下面我将其他选择用于不同的布尔变量:
<div [class.first-class]="addFirst" [class.second-class]="addSecond">...</div>
export class MyComponent {
...
addFirst: boolean;
addSecond: boolean;
...
}
<div [ngClass]="setClasses()">...</div>
export class MyComponent {
...
addFirst: boolean;
addSecond: boolean;
...
setClasses() {
return {
'first-class': this.addFirst,
'second-class': this.addSecond
};
}
...
}
<div [ngClass]="{'first-class': addFirst, 'second-class': addSecond}">...</div>
export class MyComponent {
...
addFirst: boolean;
addSecond: boolean;
...
}