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

时间:2018-09-16 19:58:02

标签: javascript angular angular6 ngif

我在项目中使用Angular 6。

我有一个具有* ng-if =“ edited”的div元素,如下所示:

<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>

一旦我从下拉菜单中选择了任何一种语言,它将调用一个绑定了Web服务API并在JSON中获得以下结果的函数,并且我将edited = 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"}]

现在,我需要在用户界面中显示div * ngIf =“ edited”。但是,它没有显示。

请建议我如何实现此目标。每次我从下拉菜单中更改语言时,结果都会改变,我应该在UI中显示数据。

1 个答案:

答案 0 :(得分:0)

对我来说,问题不在于“已编辑”变量,* ngIf必须起作用。

langtext变量的名称(如果在html中写得不好)。您在组件中使用langtext并在html中编写“ langText”。