首页 > 解决方案 > *ngIf 不会打开模板

问题描述

我有一个 .html 文件来显示一些值。我在标签内添加了一个带有“*ngIf”的条件,以找到一个以“Rechercher ...”结尾的值。也许我找不到如何使它工作。我尝试了几件事,现在我只有一个值为 true 的布尔值来查找我是否可以在我的模板之间切换,但他仍然不会打开其中一个。

原创(工作)

<datalist id="{{row.LISTID}}">
    <option value="{{value}}">{{value}}</option>
    <option *ngFor="let i of tableEquipmentDataTmp[row.LISTID]" value="{{i.OBJECTID}}"> {{i.OBJECTID}}
    </option>
</datalist>

更改(无效)

<datalist id="{{row.LISTID}}">
    <option value="{{value}}">{{value}}</option>
    <div *ngFor="let i of tableObjectDataTmp[row.LISTID]">
        <ng-template *ngIf="isTrue else disabled_lock">
            <option value="{{i.OBJECTID}}">{{i.OBJECTID}}</option>
        </ng-template>
        <ng-template #disabled_lock>
            <option value="{{i.OBJECTID}}" disabled>{{i.OBJECTID}}</option>
        </ng-template>
    </div>
</datalist>

ts (编辑)

export class HeaderComponent implements OnInit {
    isTrue = true;
    ngOnInit() {
        this.isTrue = true;
    }
}

提前感谢您的回复。

标签: angularangular-ng-if

解决方案


我认为问题在于您正在检查isTrue,但不是i.isTrue

<datalist id="{{row.LISTID}}">
    <option value="{{value}}">{{value}}</option>
    <div *ngFor="let i of tableObjectDataTmp[row.LISTID]">
        <ng-template *ngIf="i.isTrue else disabled_lock">
            <option value="{{i.OBJECTID}}">{{i.OBJECTID}}</option>
        </ng-template>
        <ng-template #disabled_lock>
            <option value="{{i.OBJECTID}}" disabled>{{i.OBJECTID}}</option>
        </ng-template>
    </div>
</datalist>

推荐阅读