我在项目中使用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中显示数据。
答案 0 :(得分:0)
对我来说,问题不在于“已编辑”变量,* ngIf必须起作用。
langtext变量的名称(如果在html中写得不好)。您在组件中使用langtext并在html中编写“ langText”。