在 Angular 中正确使用 ngClass

问题描述

对于以下代码段,

<tr *ngFor= "let rec of csvHead; let first=first"
[ngClass] = "{'title':first}">
</tr>

类“title”成功添加

。但我找不到原因。我猜这个值应该是 :true 或 :false 而不是 :first in
"{'title':first}"

1 个答案:

答案 0 :(得分:0)

ngClass 指令支持以下形式:

 *     <some-element [ngClass]="'first second'">...</some-element>
 *     <some-element [ngClass]="['first','second']">...</some-element>
 *     <some-element [ngClass]="{'first': true,'second': true,'third': false}">...</some-element>
 *     <some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
 *     <some-element [ngClass]="{'class1 class2 class3' : true}">...</some-element>

并且您使用第三种形式,即键是 CSS 类,当值中给出的表达式的计算结果为 真实 值(不是真值或假值)时添加这些类,否则它们将被删除


注意:first 是第一行计算结果为真的表达式

解决方法

ngClass 指令支持以下形式:

 *     <some-element [ngClass]="'first second'">...</some-element>
 *     <some-element [ngClass]="['first','second']">...</some-element>
 *     <some-element [ngClass]="{'first': true,'second': true,'third': false}">...</some-element>
 *     <some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
 *     <some-element [ngClass]="{'class1 class2 class3' : true}">...</some-element>

并且您使用第三种形式,即键是 CSS 类,当值中给出的表达式的计算结果为 真实 值(不是真值或假值)时添加这些类,否则它们将被删除,


注意:first 是第一行计算结果为真的表达式