我有这个
<div
*ngFor="let dt of totals"
[ngClass]="{ up: dt.isUp }"
>
<span> {{ dt }}</span>
</div>
我想重构成angular v17语法
@for (dt of totals; track $index) {
<span>{{ dt }}</span>
}
我如何重构<div>
上的[ngClass]
?
我试过了,但显然不起作用,因为<div>
中还没有定义变量dt
<div [ngClass]="{ up: dt.isUp }">
@for (dt of totals; track $index) {
<span>{{ dt }}</span>
}
</div>
我可以试试这个,但我不想在每个元素上多加ng-container
分:
<div>
@for (dt of totals; track $index) {
<ng-container [ngClass]="{ up: dt.isUp }">
<span>{{ dt }}</span>
</ng-container>
}
</div>
官方的做法是什么?
编辑: 谢谢你的帮助,我得到了我需要的解决方案.这个问题很愚蠢,因为我忘记了*ngFor重复了它所在的元素及其子元素.我忘了这一点,以为它只是在重复它的子元素.这是基本的前v17版本的Angular .我把这个问题留下来,以防这个问题会传染到其他人.