码迷,mamicode.com
首页 > 其他好文 > 详细

Angular变更检测策略报错

时间:2020-05-18 19:00:31      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:error:   钩子   previous   rom   class   expr   指正   err   onchange   

报错信息: ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked. Previous value: ‘null: 8‘. Current value: ‘null: 4‘.

报错触发: 在渲染时,连续多次修改Expression ,出现该问题

报错原因:Angualr中的change detection strategy,大概意思是在变更检测之后时,即在ngAfterViewChecked()生命周期钩子里面又检测到该Expression 发生了变化,此时抛出错误。

解决方案

  1. 把对Expression的操作放在settimeout,promise等异步方法里面,则可以避免ngAfterViewChecked()的检测。
  2. 调换HTML中该Expression出现的先后顺序。

 

暂时这样。。。研究不深,欢迎指正,共同学习。

Angular变更检测策略报错

标签:error:   钩子   previous   rom   class   expr   指正   err   onchange   

原文地址:https://www.cnblogs.com/yinghuochongfighter/p/12912070.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!