数据在服务和组件中发生变化,但没有反射(reflect)在 View 上。
以下是使用的解决方案,但没有解决问题:
使用生命周期钩子(Hook) ngDoCheck
使用了 Angular 区域并在 zone.run() 中调用了方法
通过调用 ChangeDetectorRef.detectChanges() 手动调用更改检测
在调用方法之前添加了 5 秒的计时器。
我的代码:
ngOnInit() {
this.noticeService.notices.subscribe(data => {
this.notices = data;
});
}
问题是每当我调试代码时,我发现数据反射(reflect)在组件的通知变量中,但它不会显示在 UI 上,除非不执行任何用户操作(例如单击)。 非常感谢您的帮助。
最佳答案
我只需将订阅代码从 ngOnInit() 移至 constructor() 就解决了这个问题。我不知道为什么它只在构造函数中起作用,也没有找到任何相关信息。我还发现有人已经面临同样的问题。
关于angular - ionic 3 应用程序中的更改检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51926664/