angular - 引用组件链中的 ExpressionChangedAfterItHasBeenCheckedError
问题描述
ExpressionChangedAfterItHasBeenCheckedError
在引用组件链中。
我有一项服务正在轮询数据REST API
并将其存储在缓存中。几个组件使用#
引用或@ViewChild
在一个链中连接在一起。第一个组件是从服务中读取数据进行计算并将结果传递给下一个。计算的数据显示在每个组件中,让我控制计算是否正确。
我没有使用ngAfterViewInit
. 但是ExpressionChangedAfterItHasBeenCheckedError
在最后一个组件中得到一个。
它可以这样表示:
组件A(输出)-读取前一个组件的输出->组件B(输出)-读取前一个组件的输出->组件C(输出)-从服务读取数据->服务(缓存)<-从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)
解决方案
推荐阅读
- python - TypeError:期望一个字符串或其他字符缓冲区对象 - XPath
- docker - dockerfile中的双箭头(<<:*django)是什么意思?
- r - 正态性检验结果解释
- php - 如何从受密码保护的目录中制作 PHP 调用目录列表
- ruby - tIdentifier 简单数组问题
- c - 查找多嵌套数组的下一个内存变量
- go - 使用 viper 的动态组名
- sockets - 通过 Internet 在分布式系统中的 ZMQ 套接字之间进行通信
- c# - System.IO.FileNotFoundException:找不到文件
- php - 谷歌云存储 - API 不工作它只显示 index.php