插值和数据绑定不变

时间:2018-12-01 18:36:24

标签: angular6 interpolation

我有一个角度项目,在其中使用插值和数据绑定。 在整个项目中,只有一个组件无法正常工作。

我有一个名为 title 的简单变量,如果在 ngOnInit 方法中编写一些内容,该变量会正确显示在html中。

但是,如果以后再更改该变量的值,则不会更新html。

这是我的代码:

toLeave : boolean = undefined;
title = '';

ngOnInit() {
    this.title = 'Review';
    this.router.events.pipe(
       filter((event: NavigationEnd) => event instanceof NavigationEnd)
     ).subscribe(res => {
          if(this.toLeave != undefined)
             return;
          if(res.url.indexOf('toLeave') >= 0){
              this.toLeave = true;
              this.title = 'Review to leave';
           }else{
              this.toLeave = false;
              this.title = 'Review received';
           }
      })
  }

在我的HTML中:

<span>{{title}}</span>

我也尝试这样做:

<span [innerHTML]="title"></span>

最终结果是在html中显示“ Review”。 因此,未检测到订阅中完成的操作。

我尝试使用 ChangeDetectorRef 强制检测更改,但是当我调用 detectChanges 方法时,该对象已被破坏。

然后我使用 tick 方法尝试了 ApplicationRef ,但它没有任何改变。

有人可以帮我吗?

谢谢

1 个答案:

答案 0 :(得分:0)

好的,我解决了这个问题。

有一件事我没有尝试做。

我从 ngOnInit 内部移动了代码,并在构造函数内部运行了代码。 现在一切正常