在Angular 9中,[ngClass]/[class]和[className]之间有什么区别?

在Angular 9中,[ngClass]/[class]和[className]之间有什么区别?,angular,Angular,关于ngClass和像这样的类之间的区别,有很多这样的问题: 但是您也可以使用[className]作为绑定。[ngClass]和[className]之间有什么区别?什么时候应该使用它们?与[className]类似,[ngClass]允许绑定以空格分隔的类名的字符串表达式: <some-element [ngClass]="'first second'">...</some-element> <some-element [className]="'first

关于ngClass和像这样的类之间的区别,有很多这样的问题:


但是您也可以使用
[className]
作为绑定。
[ngClass]
[className]
之间有什么区别?什么时候应该使用它们?

[className]
类似,
[ngClass]
允许绑定以空格分隔的类名的字符串表达式:

<some-element [ngClass]="'first second'">...</some-element>
<some-element [className]="'first second'">...</some-element>
这些语法很方便,
[className]
不支持,因为它是HTML元素的字符串属性


请参阅以获取演示。

通常,绑定到类名是否有任何作用(即组件未专门提供的情况)?我一直使用类。@jonrsharpe是的,它的行为与绑定到ngClass的方式完全相同。所以我真的很想知道到底有什么不同。啊——鉴于这是唯一的参考,我会坚持到底。如果它的行为方式相同,你怎么会认为有区别呢?@jornsharpe那么这意味着什么?
className
不过是
ngClass
的同义词?这仅适用于ViewEngine。对于有角度的常春藤,两种方法是相同的
<some-element [ngClass]="['first', 'second']">...</some-element>
<some-element [ngClass]="{'first': condition1, 'second': condition2}">...</some-element>