ionic 3应用程序中的更改检测问题

时间:2018-08-20 08:20:36

标签: angular ionic-framework ionic3

服务和组件中的数据正在更改,但未在视图中反映出来。

以下是无法解决问题的解决方案:

  1. 使用过的生命周期挂钩ngDoCheck

  2. 使用了角度区域并在zone.run()内部调用了方法

  3. 通过调用ChangeDetectorRef.detectChanges()手动调用更改检测

  4. 在调用方法之前增加了5秒的计时器。

我的代码:

ngOnInit() {
this.noticeService.notices.subscribe(data => {
  this.notices = data;
});
}

问题是,每当我调试代码时,我都会发现数据反映在组件的notices变量中,但是除非未执行任何用户操作(如单击),否则它不会显示在UI上。 非常感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

我仅通过将订阅代码从ngOnInit()移到Constructor()就解决了该问题。我不知道为什么它只能在构造函数中使用,也找不到关于它的任何相关信息。我还发现有人已经遇到了同样的问题。

Why observable.subscribe works only from constructor