如何在更改事件后检查 ng-if

how to check ng-if after change event

我在我的项目中使用 Angular 6。

我有一个 div 元素,其 *ng-if="edited" 如下所示

<div *ngIf="edited">
    {{langText}}
</div>

在第一次加载时编辑的将是 false 并且不可见。但是,我有一个像下面这样的机会事件,

<select (change)="getSelectedLang(i,$event.target.value)">
                <option value="0">Language</option>{{languages[0].Lang}}
                <option *ngFor="let selecLanguage of languages[0].Lang" value={{selecLanguage}}>
                    {{selecLanguage}}
                </option>
            </select>

一旦我 select 下拉列表中的任何语言,它将调用一个函数,其中我有一个 Web 服务 API 绑定并在 JSON 中得到以下结果,我正在编辑 = true.

getSelectedLang(id,langName){
        this.edited = true;
        this.custService.getSelectedLanguageData(id,langName).subscribe((data:  Array<object>) => {
        this.langtext = data;
        this.langtext = JSON.stringify(this.langtext.comicPageTextLites);
        console.log(this.langtext);
        this.langtext = JSON.parse(this.langtext);
        console.log( "=====this.langtext=====" );
        console.log( this.langtext );
            $(".show_me").toggle();
            $(".show_me").show();
        });
    }

[{"pageNo":1,"text":"हैलो नासीर, आप कैसे हैं","x":"679","y":"689"},{"pageNo":2,"text":"मैं अच्छा हूँ","x":"568","y":"890"}]

现在,我需要在 UI 中显示 div *ngIf="edited"。但是,它没有显示。

请建议我如何实现这一点。每次我从下拉列表中更改语言时,结果都会改变,我应该在 UI.

中显示数据

对我来说,问题不在于 "edited" 变量,*ngIf 必须起作用。

如果在html中写错了,langtext 变量的名称。您在组件中使用 langtext 并在 html 中写入 "langText"。