如何将[ngClass]用于多类条件Angular4

MNY*_*MNY 1 html angular

目前我的div看起来像这样:

<div class="class-a" [ngClass]="{'class-b': !person.something}">
Run Code Online (Sandbox Code Playgroud)

现在我想要另一个条件......

所以现在我希望这个div成为class-a如果是某个类-b如果是其他类class-c

我该怎么做?

即时通讯使用角4.

谢谢!

Gün*_*uer 11

像属性一样添加到对象文字:

[ngClass]="{'class-b': !person.something, 'other-condition': isOther }"
Run Code Online (Sandbox Code Playgroud)


bgr*_*ham 8

如果您认为需要更复杂的逻辑,或者知道只有一个字符串,则另一个选择是从组件返回一个字符串.这可能更容易测试.

您返回的任何字符串都将呈现为一个类

[ngClass]="renderClass()"

renderClass() {
  switch(this.user.theme){
    case "dark":
       return "dark-theme"
    case "light":
       return "light-theme"
  }
}
Run Code Online (Sandbox Code Playgroud)