当我使用异步管道时,出现此错误(ExpressionChangedAfterItHaHasBeenCheckedError)!代码为here。 我在哪里做错了?
答案 0 :(得分:-1)
我认为错误来自{{users$|async|json}}
。
在布局服务中,它返回null并尝试显示它会导致错误。
我像这样测试过,没有任何错误。
<h1>Layout Component</h1>
<div>
<div *ngIf="layoutService.getSpinnerState|async">
<span>SPINING...
</span>
</div>
</div>
<p>StateSpinner: {{ layoutService.getSpinnerState|async }} </p>
ngOnInit() {
this.layoutService.withSpinner(this.profileService.getUser()).subscribe();
}
编辑:
如果我理解错误,那就是您所观察到的变化。
在致电布局服务时,您可以执行类似的操作。你怎么看 ?对我来说看起来更干净。
withSpinner<T>(obs:Observable<T>){
this.setSpinnerState(true)
return obs.pipe(
delay(2000),
finalize(()=>this.setSpinnerState(false))
);
}