首页 > 解决方案 > ERROR 错误:ExpressionChangedAfterItHasBeenCheckedError

问题描述

有谁知道这个错误?

ERROR 错误:ExpressionChangedAfterItHasBeenCheckedError:表达式在检查后已更改。以前的值:'id:未定义'。当前值:'id:mat-dialog-0'。似乎视图是在对其父级及其子级进行脏检查之后创建的。它是在变更检测挂钩中创建的吗?

标签: javascriptangularangular6

解决方案


您正在尝试在 DOM 中呈现模型对象后对其进行更新。Angular 以这种方式工作,模型对象和 DOM 都需要同步。尝试使用

setTimeout(()=>{

}, 0);

https://stackblitz.com/edit/angular-nzznko

有关更多详细信息,https://blog.angularindepth.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4


推荐阅读