在 @if 语法中使用

问题描述 投票:0回答:1

我正在使用 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` 语法来实现它?

angular
1个回答
0
投票

像这样使用

@let

@for(key of buildingKeys; track $index) {
    @let build = buildingList[key][buildingLevel[key]];
    @if (build) {
        <div>Name: {{ build.name | i18n }}</div>
    }
}

参见https://angular.dev/api/core/@let

© www.soinside.com 2019 - 2024. All rights reserved.