混合双引号和单引号:如果您使用双引号作为ngClass 值的外部分隔符,请使用单引号作为属性。如果您使用单引号作为ngClass 值的外部分隔符,请对属性使用双引号。 (或者,如果属性名称中没有任何破折号,则不要使用它们)。
Stackblitz demo
<section [ngClass]="{val1: 1, 'other-att': 2}"></section>
从 API 的角度来看,与ngClass 一起使用的对象属性的值应该是true 或false。在上述情况下,所有这些都是真实的,因此将应用 val1 和 other-att 类(并且它有效,没有错误)。但如果您使用true 或false 作为它们的值,则更有意义:
<section [ngClass]="{c1: true, 'c-2': true, 'c3': false}"></section>
如果你想使用一个函数,那也没关系:
<section [ngClass]="_getMyCssClasses()"></section>
_getMyCssClasses(): {[className: string]: boolean} {
return {c1: true, 'c-2': true, 'c3': false};
}
对于每个 cmets,您希望为您的元素动态设置一些属性。更合适的方法是使用style 或ngStyle。请参阅上面的 Stackblitz 演示以了解它的实际效果。
<div [ngStyle]="getProgressValues(obj.val1,obj.val2)"> </div>
getProgressValues(min: number, max: number) {
return {
'aria-valuemin': min,
'aria-valuemax': max
}
}