gpt4 book ai didi

Angular 加载微调器错误 :ExpressionChangedAfterItHasBeenCheckedError

转载 作者:行者123 更新时间:2023-12-04 02:58:27 26 4
gpt4 key购买 nike

我在我的 Angular 应用程序中做了一个加载微调组件。我用 *ngIf="isLoading"将它放在路由器导出旁边的应用程序组件中,这样我就可以让它在应用程序的任何地方都可见。
'isLoading' bool 值正在使用 ngrx 的商店进行全局更新。
现在我有一个错误说

Error:ExpressionChangedAfterItHasBeenCheckedError: Expression had changed after it was checked. Previous value: 'ngIf: true'. Current value: 'ngIf: false'



我一直在阅读有关此错误的信息,结论是:不要更改更深层次的子组件的参数值。
那么如何在不重复我的应用程序中的代码并且不导致更改检测错误的情况下制作加载微调器呢?

最佳答案

如果您在构造函数或 ngOnInit 中更改变量,这可能发生。您可以使用超时来克服此问题。

ngOnInit() {
setTimeout(() => {
this.yourVar = 'new value'
});
}

检查以下以获取更多信息

https://github.com/angular/material2/issues/11357

https://github.com/angular/angular/issues/17572

关于 Angular 加载微调器错误 :ExpressionChangedAfterItHasBeenCheckedError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51589983/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com