Angular 在 ngOnInit 上将 false 更改为 true
Angular change false to true on ngOnInit
我有一项服务,其中包含一组选定的 ID。当我初始化一个组件时,我会检查数组中是否存在该组件的 ID。但是,Angular 抛出一个异常,在视图检查后值已更改。
我试过在 this._checked = true
之后添加 detectChanges()
,试过 markForCheck()
。此外,我尝试将这两种情况移动到不同的生命周期挂钩但没有成功,除了它开始工作虽然抛出错误。
Angular 变化检测就像绞肉机,您正试图在此过程中改变肉。通常,markForCheck()
在这种情况下应该足够了。如果您 post 您的完整代码,我们可以尝试找出它在您的情况下不起作用的原因。如果都失败了,你总是可以这样做:
setTimeout(() => {
this.youChanges();
this.changeDetectorRef.markForCheck();
});
我有一项服务,其中包含一组选定的 ID。当我初始化一个组件时,我会检查数组中是否存在该组件的 ID。但是,Angular 抛出一个异常,在视图检查后值已更改。
我试过在 this._checked = true
之后添加 detectChanges()
,试过 markForCheck()
。此外,我尝试将这两种情况移动到不同的生命周期挂钩但没有成功,除了它开始工作虽然抛出错误。
Angular 变化检测就像绞肉机,您正试图在此过程中改变肉。通常,markForCheck()
在这种情况下应该足够了。如果您 post 您的完整代码,我们可以尝试找出它在您的情况下不起作用的原因。如果都失败了,你总是可以这样做:
setTimeout(() => {
this.youChanges();
this.changeDetectorRef.markForCheck();
});