我正在使用 Angular 18.1.0 和以下语法:
<div>
@for(key of buildingKeys; track $index) {
<ng-container *ngIf="buildingList[key][buildingLevel[key]] as build">
<div>Name: {{build.name | i18n}}</div>
</ng-container>
}
</div>
这工作得很好,我只是不想使用
<ng-container *ngIf="...">
语法。
我试图使用
@if
来实现它,但是语法:
<div>
@for(key of buildingKeys; track $index) {
@if (buildingList[key][buildingLevel[key]] as build) {
<div>Name: {{ build.name | i18n }}</div>
}
}
</div>
给我以下错误:
解析器错误:[buildingList[key][buildingLevel[key]] as build]中第 39 列出现意外标记“as”
我的问题是,有没有办法使用 @if` 语法来实现它?
像这样使用
@let
:
@for(key of buildingKeys; track $index) {
@let build = buildingList[key][buildingLevel[key]];
@if (build) {
<div>Name: {{ build.name | i18n }}</div>
}
}