模板中的局部变量返回null(离子)

时间:2017-04-17 14:03:09

标签: angular ionic-framework ionic2

我正在使用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;

}

1 个答案:

答案 0 :(得分:2)

正在测试代码的所有可能性,并使用[*ngIf]="visibile"代替*ngIf="visible"解决了问题。

现在问题是我无法解释为什么它会这样工作,对不起,但代码工作正常。