我正在使用Angular和Ionic,我试图在模板中读取局部变量,但是当我在离子项上使用* ngIf时,即使是真的,数据也变得不可用。怎么解决这个?或者它是一个Bug?
请打开我的plucker并点击按钮,看看由于* ngIf ...
,本地变量p2没有返回See in plunker code sample problem
模板上的代码段
<ion-content class="has-header">
<div padding style="text-align: center;">
<h1>Ionic 2 Test</h1>
</div>
<ion-item >
<p #p1>10</p>
</ion-item>
<ion-item *ngIf='visible'>
<p #p2>20</p>
</ion-item>
<button block (click)='show(p1?.textContent,p2?.textContent);'> Click-me and you'll see that p2 does not recover </button>
<ion-item>
<p style='text-align: center;'>{{ backtemplate }}</p>
</ion-item>
</ion-content>
组件上的简单功能
show(p1,p2){
this.backtemplate = p1+' AND '+p2;
}
答案 0 :(得分:2)
正在测试代码的所有可能性,并使用[*ngIf]="visibile"
代替*ngIf="visible"
解决了问题。
现在问题是我无法解释为什么它会这样工作,对不起,但代码工作正常。