提问人:Ferna 提问时间:4/15/2020 更新时间:4/15/2020 访问量:274
尝试使用对象添加样式适用于 [ngClass],但不适用于 [class]
Trying to add style with objects works with [ngClass], but not with [class]
问:
大家好吗?
我正在尝试将一些类添加到模板上的 div 中。Angular Mainsite 说,关于样式:
NgClass 指令可以用作直接 [class] 绑定的替代方法。但是,最好使用上面的类绑定语法而不使用 NgClass,因为由于 Angular 中类绑定的改进,NgClass 不再提供重要的价值,并且最终可能会在未来被删除。
所以,我正在尝试做:
<div [class]="{class1:condition,class2:condition}"></div>
和
<div [class]="{'class1':condition,'class2':condition}"></div>
它不起作用。 但是使用 [NgClass] 而不是 [class],它可以完美运行。有人知道为什么吗? 我正在使用 Angular 8.2.14 和 Angular Core 8.3.22。
提前致谢!
答:
0赞
jboileau173
4/15/2020
#1
ngClass 和 class 的使用方式完全不同。
ngClass 正在等待一个对象,这就是你的代码使用这个指令的原因。
另一方面,类只是一个 HTML 属性。 如果要添加带有条件的类,则必须按以下方式工作:
<div [class.class1]="condition"
[class.class2]="condition"></div>
希望能帮到你一点,再见!
评论