【问题标题】:Accessing a typescript variable inside ngif statement in angular以角度访问 ngif 语句中的打字稿变量
【发布时间】:2021-03-08 00:13:49
【问题描述】:

我在 ts 中有一个变量。我想在 ngif 中访问它。

TS:

  public data:string

HTML:

  <td> 
      <div *ngIf="data === 'BALL' ; else noplay" >{{ play}}</div>
      <ng-template #noplay> {{gotohome}} 
     </ng-template>
  </td>

我正在做的是,如果变量数据的值为“BALL”,我将使用字符串插值在表中显示一个值,如果不满足条件,将显示一个不同的值。我发现很难从打字稿访问数据变量

一个示例 stackblitz 链接

https://stackblitz.com/edit/angular-ivy-c6zyqg?file=src%2Fapp%2Fapp.component.html

【问题讨论】:

  • 这里到底有什么困难?你的代码对我来说很好。
  • 似乎变量data 没有正确初始化。 *ngIf 语法似乎是正确的。您能否提供更多细节或相同场景的堆栈闪电战?
  • 我已经添加了stackblitz链接@JinsThomasShaji
  • 试试添加这个=>constructor() { this.get(); }
  • 我认为你声明了变量但没有调用它,这就是它没有显示的原因。

标签: javascript angular typescript angular-material angular6


【解决方案1】:

getter 定义不正确,使用如下语法:

  _data;

  get data() {
    return this._data = "BALL";
  }

【讨论】:

    【解决方案2】:

    您正在使用方法get() 为变量data 赋值。但是该方法不会在任何地方调用。这就是问题所在。

    我已经通过使用声明广告初始化值来更新 stackblitz。

    https://stackblitz.com/edit/angular-ivy-g5a852?file=src%2Fapp%2Fapp.component.ts

    如果你想使用getter,请参考下面的stackblitz。

    https://stackblitz.com/edit/angular-ivy-wn8ccz?file=src%2Fapp%2Fapp.component.ts

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-02
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 2016-09-07
      • 2020-12-14
      • 2019-08-10
      • 1970-01-01
      相关资源
      最近更新 更多