将ngOnInit上的角度更改从false更改为true

时间:2019-03-18 14:00:37

标签: angular angular-changedetection

我有一个具有选定ID数组的服务。当我初始化一个组件时,我将检查数组中该组件的ID是否存在。但是,Angular抛出一个例外,即在查看视图后更改了值。

我尝试在detectChanges()之后添加this._checked = true,尝试了markForCheck()。另外,我尝试将这两种情况转移到不同的生命周期挂钩上,但没有成功,只是尽管引发了错误,但它开始工作。

1 个答案:

答案 0 :(得分:0)

角度变化检测就像绞肉机,您正在尝试在此过程中更换肉。通常,在这种情况下,markForCheck()就足够了。如果您发布完整的代码,我们可以尝试找出为什么它在您的情况下不起作用。如果全部失败,您可以随时执行以下操作:

setTimeout(() => {
  this.youChanges();
  this.changeDetectorRef.markForCheck();
});