答案 0 :(得分:1)
我知道的解决方法(hack)就是使用setTimeout(function , 0)
将函数发送到事件循环的末尾,直到angular完成检查,如下所示:
constructor(private http: HttpClient) {}
ngAfterViewInit() {
setTimeout(() => this.ngAfterViewInitUtil(), 0);
}
ngAfterViewInitUtil(){
this.exampleDatabase = new ExampleHttpDao(this.http);
// The rest of the code
另请注意,此错误仅在开发模式下发生,并且不会在生产模式下发生,因为angular不会在生产模式下重新检查应用程序的状态。
您可以在this page
中详细了解此错误答案 1 :(得分:0)
使用 setTimeout 并不是解决此问题的正确方法 您应该使用
ChangeDetectorRef
constructor( private cdr: ChangeDetectorRef){}
ngOnInit(){
this.chu.checkShow.subscribe( value => {
// do something
this.cdr.detectChanges();
});
}