【发布时间】:2019-06-13 15:23:56
【问题描述】:
目前我的 div 看起来像这样:
<div class="class-a" [ngClass]="{'class-b': !person.something}">
现在我想有另一个条件...
所以现在我希望这个 div 属于 class-a If something class-b If something else class-c
我应该怎么做?
我使用角度 4。
谢谢!
【问题讨论】:
目前我的 div 看起来像这样:
<div class="class-a" [ngClass]="{'class-b': !person.something}">
现在我想有另一个条件...
所以现在我希望这个 div 属于 class-a If something class-b If something else class-c
我应该怎么做?
我使用角度 4。
谢谢!
【问题讨论】:
将其像属性一样添加到对象字面量中:
[ngClass]="{'class-b': !person.something, 'other-condition': isOther }"
【讨论】:
如果您认为需要更复杂的逻辑,或者知道只有一个,则另一种选择是从组件中返回一个字符串。这可能更具可测试性。
您返回的任何字符串都将呈现为一个类
[ngClass]="renderClass()"
renderClass() {
switch(this.user.theme){
case "dark":
return "dark-theme"
case "light":
return "light-theme"
}
}
【讨论】:
使用此语法ngStyle 的更好方法因为,
这是未完成的答案。
如果您想切换某些类,例如 text-info 或 text-danger 为 <i> 标签(
some exp ? 'text-info' : 'text-danger'
)。
最好的答案是数组而不是对象。
[ngClass] = "[some exp ? 'text-info' : 'text-danger', ...]"
祝你好运
【讨论】:
[ngClass]="[dropdownOpen ? 'open': '', selectedDosing.type]"