我有一个具有选定ID数组的服务。当我初始化一个组件时,我将检查数组中该组件的ID是否存在。但是,Angular抛出一个例外,即在查看视图后更改了值。
我尝试在detectChanges()
之后添加this._checked = true
,尝试了markForCheck()
。另外,我尝试将这两种情况转移到不同的生命周期挂钩上,但没有成功,只是尽管引发了错误,但它开始工作。
答案 0 :(得分:0)
角度变化检测就像绞肉机,您正在尝试在此过程中更换肉。通常,在这种情况下,markForCheck()
就足够了。如果您发布完整的代码,我们可以尝试找出为什么它在您的情况下不起作用。如果全部失败,您可以随时执行以下操作:
setTimeout(() => {
this.youChanges();
this.changeDetectorRef.markForCheck();
});