为什么在这个简单的plunk中的组件会出现这种情况
@Component({
selector: 'my-app',
template: `<div>I'm {{message}} </div>`,
})
export class App {
message:string = 'loading :(';
ngAfterViewInit() {
this.updateMessage();
}
updateMessage(){
this.message = 'all done loading :)'
}
}
抛出异常:
异常:表达式“我在 App@0:5 中是{{message}}”在被检查后已更改。先前的值为:“我正在加载:( ”。当前值为:“我完成了所有加载:) ”,位于 [我在 App@0:5 中是{{message}}]
当我只是在视图初始化时更新一个简单绑定时发生了什么?
ExpressionChangedAfterItHasBeenCheckedError
错误,你需要了解的一切 详细地解释了其行为。 - Max KoretskyidetectChanges()
时修改您的ChangeDetectionStrategy
。https://dev59.com/JlkS5IYBdhLWcg3we22Z#54954374 - luiscla27