首页 > 解决方案 > Angular ngIf设置为true时不显示元素

问题描述

我想在一段时间后使用 ngIf 语句来呈现一些 HTML 代码。为了更容易重现而进行了简化,我的 HTML 如下所示:

<div *ngIf="reload===true">
  <p>Hello world</p>
</div>

我的 Typescript 将reload变量设置为true两秒后,如下所示:

  reload: boolean;

  ngOnInit(): void {
    this.reload = false;

    setTimeout(
      function() {
        this.reload = true;
        console.log(this.reload)
       }, 2000);
  }

控制台日志记录reload表明该变量被设置为true。但是,代码不会在视图中呈现。任何想法为什么?

标签: angular

解决方案


您需要将此分配给新的参考或使用箭头功能

示例: https ://stackblitz.com/edit/angular-eanr3e-pwtjit?file=src%2Fapp%2Fapp.component.ts


推荐阅读