角度:表达式更改后它已被检查错误,当数据从后端服务器检索而没有更新视图时



如果你觉得这个问题很基本,请耐心等待,因为我是Angular的新手,前端编程和javascript。我有三个角度分量 A、B 和 C。C 的模板包含在 B 中,B 的模板包含在 A 中。A 通过@Input参数向 B 提供用户数据。使用输入的信息,组件 B 进行 rest API 调用,其 rest 输出使用 C 的 @Input 参数传递给组件 C。组件 C 应显示数据。

如果我在 B 的 ngInit(( 中对显示数据进行硬编码,那么我在组件 C 中显示数据时没有任何疑虑。 我已经看了好,明白此错误发生在开发环境中,与更改检测有关。

除了此错误之外,即使我确实收到了 api 输出,即使其余输出数据已更改,我的显示数据也不会更改。我尝试使用ChangeDetectionStrategy.onPush((,changeDetectionRef.detectChanges((等,但没有积极的结果。

Rest API 返回一个在 .then(( 中提取的响应。下面是其余的 API 调用:

return this.http.request(url, options).toPromise()
.then((response: any) => this.extractData(response))
.catch((error: any) => this.handleError(error));

阻止同步而不是对其余 API 的异步调用是否有帮助?

不确定我需要做些什么来缓解此问题。感谢您的帮助。

从 Angular 2.2 更新到 6.0 后,更改同步功能按预期工作。 即,当数据从服务器到达时,它显示在UI中。错误在开发模式下继续。

最新更新