碎碎念:知识点梳理归纳,如果有什么不对的感谢大家指正一起学习!
ngAfterViewInit
- 创建了组件的视图及子视图之后被调用一次,以后将不再调用。
- 禁止在视图组装完毕后再去更新视图。angular会抛异常【在此钩子内赋值(使用setTimeout可解决)】
ngAfterViewChecked
- 每次做完组件视图和子视图的变更检测之后调用
逻辑:
- 父组件通过viewChild的两种方式来获取子组件的方法
- 两个子组件视图组装好后父组件开始组装
- 接着执行“视图变更检测”方法
- 定时器每隔5秒调用子组件的方法,从而不停的触发父子组件的AfterViewChecked方法
效果:
总结:
1.定时器每隔5秒就会改变自己的名字为“土豆”,视图检测方法就会不停的触发,控制台循环打印
2. 通过按钮也可以改变名字为“番茄”,也会触发检测方法,但是只会触发一次