ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.

解决方案:

  • 异步更新(建议使用)
  • 强制进行变更检测,但是会触发子组件的变更检测,再次导致父组件属性改变

Parent.Component.ts

@Component({selector:"app-parent"
})export class ParentComponent implements OnInit,AfterViewInit {public text = "给子组件的信息";constructor(private cdr: ChangeDetectorRef){}ngOnInit(){}// 该方法缺点: 子组件多的情况下,不易控制。不建议使用
    ngAfterViewInit(){this.cdr.detectChanges();}
}

Child.Component.ts

@Component({selector:"app-child"
})export class ChildComponent implements OnInit, AfterViewInit {@Input text;constructor(private parentComponent: ParentComponent){}ngOnInit(){}ngAfterViewInit() {// 异步更新两种方式// 第一种setTimeout( ()=>{this.parentComponent.text="update message"},2000);// 第二种Promise.resolve(null).then( ()=> {this.parentComponent.text="update message"});}
}

参考原文:https://blog.csdn.net/friend_ship/article/details/81773057

转载于:https://www.cnblogs.com/wjw1014/p/11313167.html

ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checked.相关推荐

  1. ExpressionChangedAfterItHasBeenCheckedError - Expression has changed after it was checked

    Expression has changed after it was checked 参考链接 一个能够完美重现该问题的例子: export class BankAccount implements ...

  2. ERROR Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it was checke

    使用轮播图组件 小圆点处报错 解决方法: //引入依赖 import { ChangeDetectionStrategy } from '@angular/core';@Component({//新增 ...

  3. 初入angular4——实际项目搭建总结

    前言 接到一个pc端后台项目,还会加入两个安卓同事一起学习和做这个项目,需要带一下他们. 既ng1之后,我就没怎么有过其它后台框架的实际项目经验了,期间用的移动端框架也并非vue.angular系列. ...

  4. 4 5区别 angular 和_Angular 常见问题解答

    --------------------Image from tanaka_tatsuya on Instagram----------------------------- ng6, TypeErr ...

  5. 【Angular 基础入门】——知识点整合

    文章目录 快速入门 一.Angular 环境搭建 二.基本概念 模块简介 组件简介 服务与依赖注入 路由 三.基础教程 使用路由 自定义组件 常用结构型指令 事件绑定 模板引用 模板表达式中的运算符 ...

  6. 【angular-实践】数据监听并渲染到界面上

    背景 为了做一个面包屑的样式 思路 三个界面: 根页面: index(展示面包屑) 资金页面: fund(展示收入.支出,属于同一个页面) 步骤: 在index服务中存BehaviorSubject类 ...

  7. Angular之Error: ExpressionChangedAfterItHasBeenChecked

    前些天,再写红包支付功能的时候, Expression has changed after it was checked.很头秃呀,上图. Angular的核心是组件化,组件嵌套会形成一棵组件树.因此 ...

  8. ng6 常见错误汇总(持续更新)

    Expression has changed after it was checked. Previous value 产生这个错误的原因很复杂,三言两语说不清.这个错误只会在dev模式出现,在pro ...

  9. MVC 自定义分面控件

    using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Tex ...

最新文章

  1. 2018-3-31(nature-Inspired Metaheuristic Algorithm Second Edition)笔记二---Random Walk and levy flighes
  2. pandas将dataframe的索引转化为列表list数据(convert dataframe index into a list)
  3. 清华大学人工智能研究院自然语言处理与社会人文计算研究中心成立,重磅推出两场前沿学术报告和三项特色开源成果...
  4. 收藏!84页PPT讲解电力变压器参数计算
  5. Java:数值-字符串转换(String转Double)
  6. SAP Fiori Elements的change and save实现原理
  7. java conf_JAVA 解析、编辑nginx.conf详解
  8. 前端学习(3185):ant-design的button介绍按钮属性
  9. c++回到起点旅行商问题_不要犯同样的错,提C型房车回渝上牌长途旅行的心路历程...
  10. 数字与中文信息的结合记忆(下)
  11. 前端JavaScript 常见的报错及异常捕获与处理方法
  12. sqlserver字符串处理函数
  13. 高级音频降噪插件:Klevgrand Brusfri for Mac
  14. C# Windows 服务
  15. hdwiki 学习笔记 01
  16. 【初识SciPy库】
  17. Linux安装cURL
  18. 解决Unable to find a single main class from the following candidates
  19. 公务员考试行测、申论答题时间分配
  20. 自同步扰乱编码器的原理与MATLAB仿真

热门文章

  1. [博客..配置?]博客园美化
  2. 有一句说一千句,是作家....
  3. 安卓开发1-初步了解使用
  4. 分布式锁RedLock的java实现Redisson
  5. linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合: ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head linux下
  6. WPF中的鼠标事件详解
  7. ACM001 Quicksum
  8. Linux基线合规检查中各文件的作用及配置脚本
  9. office漏洞利用--获取shell
  10. 物联网商机迸发 LPWAN芯片现身 本文转自d1net(转载)