ExpressionChangedAfterItHasBeenCheckedError
在一系列引用组件中。
我有一项服务正在轮询REST API
中的数据并将其存储在缓存中。多个组件使用#
引用或@ViewChild
链接在一起。第一个组件是从服务读取数据,然后进行计算并将结果传递给下一个。计算出的数据显示在每个组件中,让我控制计算是否正确。
我没有使用ngAfterViewInit
。但在最后一个组件中加入ExpressionChangedAfterItHasBeenCheckedError
。
可以这样表示:
组件A(输出)-先前组件的读取输出->组件B(输出)-先前组件的输出->组件C(输出)-从service-> service(cache)<-poll中读取数据来自API的数据并放入缓存中。
ListComponent.html:16 ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: 'input: -0.0006'. Current value: 'input: -0.0005943807529616154'.
at viewDebugError (core.js:9817)
at expressionChangedAfterItHasBeenCheckedError (core.js:9795)
at checkBindingNoChanges (core.js:9962)
at checkNoChangesNodeInline (core.js:14014)
at checkNoChangesNode (core.js:13984)
at debugCheckNoChangesNode (core.js:14813)
at debugCheckDirectivesFn (core.js:14715)
at Object.eval [as updateDirectives] (ListComponent.html:16)
at Object.debugUpdateDirectives [as updateDirectives] (core.js:14697)
at checkNoChangesView (core.js:13822)