【发布时间】:2023-03-08 04:40:01
【问题描述】:
我有一个服务,其中包含一组选定的 ID。当我初始化一个组件时,我会检查该组件的 ID 在数组中是否存在。但是,Angular 会抛出一个异常,即视图检查后值已更改。
我尝试在this._checked = true 之后添加detectChanges(),尝试了markForCheck()。此外,我尝试将这两种情况转移到不同的生命周期挂钩,但没有成功,只是它开始工作,尽管抛出了错误。
【问题讨论】:
-
detectChanges()仅适用于被调用组件及其子组件,请出示您的完整代码。试试setTimeout(() => {this._checked = true})。这可能会起作用.. -
尝试将其更改为 afterViewInit 挂钩?
-
在更改值之前调用
ChangeDetectorRef.detectChanges。 -
@ConnorsFan 不,它会继续。
-
@xyz 忘了提。我和 Promise 都试过了。然后
标签: angular angular-changedetection