【问题标题】:Issue with change detection in ionic 3 appionic 3 应用程序中的更改检测问题
【发布时间】:2018-08-20 08:20:36
【问题描述】:

数据在服务和组件中发生变化,但并未反映在视图中。

以下是未解决问题的解决方案:

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

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

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

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

我的代码:

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

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

【问题讨论】:

  • 请提供完整代码。

标签: angular ionic-framework ionic3


【解决方案1】:

我只是通过将订阅代码从 ngOnInit() 移动到 constructor() 解决了这个问题。我不知道为什么它只在构造函数中有效,也没有找到任何相关信息。我还发现有人已经面临同样的问题。

Why observable.subscribe works only from constructor

【讨论】:

  • 有可能,您忘记在组件名称旁边添加“implements OnInit”,这就是为什么没有从您的代码调用此方法的原因。
  • @MDM 我已经实现了 OnInit()
猜你喜欢
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 2018-02-10
  • 1970-01-01
  • 2010-09-22
  • 2014-05-28
相关资源
最近更新 更多