Angular之Error: ExpressionChangedAfterItHasBeenChecked
前些天,再写红包支付功能的时候, Expression has changed after it was checked.很头秃呀,上图。
Angular的核心是组件化,组件嵌套会形成一棵组件树。因此它的数据流是自顶而下,从父组件到子组件单向流动。
单向数据流向保证了高效、可预测的变化检测。尽管检查了父组件之后,子组件可能会改变父组件的数据使得父组件需要再次被检查,这是不被推荐的数据处理方式。
在开发模式下,Angular会进行二次检查,如果出现上述情况,二次检查就会报错:ExpressionChangedAfterItHasBeenCheckedError
(关于这个问题的答案,可以在参考资料中找到)。而在生产环境中,脏检查只会执行一次。
我就是父子组件互相传值,操作频繁,子组件改变了父组件的值,所以脏检查二次检查就报错了。
开发模式下,忍受一下,生产环境没问题,但是能不以这样数据处理方式,就不要这样。
后记:
因为Angular是单向数据流,所以子组件的ts文件只能接收父组件的数据,而不能进行处理,但是html文件可以处理数据,
所以就以方法形参的方式,把数据传到ts文件里,进行处理。
呵呵,然后就报了上述错误。
解决方法:关于ExpressionChangedAfterItHasBeenCheckedError
Angular之Error: ExpressionChangedAfterItHasBeenChecked相关推荐
- Angular:error TS2717: Subsequent property declarations must have the same type. Property ‘contentRe
解决方案 在tsconfig.json的compilerOptions选项中添加如下内容"skipLibCheck": true. 如下图所示 之后重新启动项目. 如下图启动成功
- angular面试题及答案_关于最流行的Angular问题的StackOverflow上的48个答案
angular面试题及答案 by Shlomi Levi 通过Shlomi Levi 关于最流行的Angular问题的StackOverflow上的48个答案 (48 answers on Stack ...
- Angular--页面间切换及传值的四种方法
1. 基于ui-router的页面跳转传参 (1) 在AngularJS的app.js中用ui-router定义路由,比如现在有两个页面,一个页面(producers.html)放置了多个produc ...
- Pixhawk原生固件PX4之位姿控制算法解读
参考文献:Minimum Snap Trajectory Generation and Control for Quadrotors PX4中多旋翼无人机的控制分为姿态控制和位置控制两个部分. 大致解 ...
- Pixhawk之姿态控制篇
一.开篇 姿态控制篇终于来了.来了.来了~~~ 心情爽不爽?愉悦不愉悦?开心不开心? 喜欢的话就请我吃顿饭吧,哈哈. 其实这篇blog一周前就应该写的,可惜被上一篇blog霸占了.但是也不算晚,整理了 ...
- Pixhawk之姿态控制篇(1)_源码算法分析(超级有料)
一.开篇 姿态控制篇终于来了.来了.来了~~~ 心情爽不爽?愉悦不愉悦?开心不开心? 喜欢的话就请我吃顿饭吧,哈哈. 其实这篇blog一周前就应该写的,可惜被上一篇blog霸占了.但是也不算晚,整理了 ...
- AngularJS中页面传参方法
1.基于ui-router的页面跳转传参 (1) 用ui-router定义路由,比如有两个页面,一个页面(producers.html)放置了多个producers,点击其中一个目标,页面跳转到对应的 ...
- angularjs项目的页面跳转如何实现
链接:https://www.zhihu.com/question/33565135/answer/696515 Angular页面传参有多种办法,根据不同用例,我举5种最常见的: PS: 在实际项目 ...
- PX4二次开发——PX4程序架构
PX4程序架构 一.从RCS启动脚本可以看出哪些东西 启动脚本是一个神奇的东西,它能够识别出你对应的飞机类型,加载对应的混控器,选择对应的姿态.位置估计程序以及控制程序,初始化你需要的驱动程序.下 ...
最新文章
- 【seaborn】(1) 数据可视化,绘图风格、布局
- socket 服务器浏览器与服务器客户端实例
- 敏捷个人实践第18次活动:选择朋友
- 序列到序列网络seq2seq与注意力机制attention浅析
- 最全的时间类解析。 SimpleDateFormat + Date() 和 DateTimeFormatter + LocalDate()的区别与使用场景
- 怎么在安卓布局里设置滚动字体_Get新技能|如何在手机上设置文字版拼音?
- NTV Media Server G3性能测试
- java 生成apk包_Eclipse导出安卓apk文件的图文教程
- mysql schema数据混乱_MySQL之Schema与数据类型优化
- Shiro学习总结(2)——Apache Shiro快速入门教程
- mysql 局域网存储_MySQL 存储过程
- CSS3学习笔记--line-height:150%与line-height:1.5的真正区别
- [开发笔记]-FireWorks常用操作快捷键
- 四叉树数据编码结构在电子狗中的应用
- Selenium核心原理及浏览器实战
- Word分栏出现空白怎么解决
- 劈荆斩棘:Gitlab 部署 CI 持续集成
- 《C语言程序设计》第4版 何钦铭、颜晖主编 课后习题答案 第12章 课后习题
- (plugin uglify) Error: Unexpected token: keyword «const»
- 让你的电脑也识得二维码图片(一)