服务和组件中的数据正在更改,但未在视图中反映出来。
以下是无法解决问题的解决方案:
使用过的生命周期挂钩ngDoCheck
使用了角度区域并在zone.run()内部调用了方法
通过调用ChangeDetectorRef.detectChanges()手动调用更改检测
在调用方法之前增加了5秒的计时器。
我的代码:
ngOnInit() {
this.noticeService.notices.subscribe(data => {
this.notices = data;
});
}
问题是,每当我调试代码时,我都会发现数据反映在组件的notices变量中,但是除非未执行任何用户操作(如单击),否则它不会显示在UI上。 非常感谢您的帮助。
答案 0 :(得分:3)
我仅通过将订阅代码从ngOnInit()移到Constructor()就解决了该问题。我不知道为什么它只能在构造函数中使用,也找不到关于它的任何相关信息。我还发现有人已经遇到了同样的问题。