组件生命周期
执行的顺序与序号保持一致
1.ngOnChanges
官方解释:
当 Angular(重新)设置数据绑定输入属性时响应。
该方法接受当前和上一属性值的 SimpleChanges 对象
在 ngOnInit() 之前以及所绑定的一个或多个输入属性的值发生变化时都会调用。
个人理解:
组件初始化时最先调用一次,随后在每次输入属性发生改变时触发,
输入属性 就是父组件向子组件传递的值,并且接收一个参数,
该参数记录变化前后的值。
实际上,所有具有输入的组件的输入值更改时都会调用。
2.ngOnInit
官方解释:
在 Angular 第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令/组件。
在第一轮 ngOnChanges() 完成之后调用,只调用一次。
个人理解:
在第一次数据绑定和设置input的输入属性之后,初始化组件。
在第一轮ngOnChanges后执行,只执行一次。
可以发生网络请求或者对input的属性进行判断等。
默认情况下,使用脚手架都会生成这个函数。
3.ngDoCheck
官方解释:
检测,并在发生 Angular 无法或不愿意自己检测的变化时作出反应。
在每个变更检测周期中,紧跟在 ngOnChanges() 和 ngOnInit() 后面调用。
个人理解:
当页面发送任何改变的时候触发,改变包括自身属性的改变以及input输入属性的改变等。