1 ngOnChanges()

  1. angular(重新)设置数据绑定输入属性时响应。
  2. 当被绑定的输入属性的值发生改变时调用,首次嗲用一定会发生在ngOnInit()之前
  3. 主要用于父子组件传值中会出发

2 ngOnInit()

在angular第一次显示数据绑定和设置指令/组件的输入属性之后,初始化指令或组件。
在第一轮ngOnChanges()完成之后使用,只调用一次


一般用于请求数据

3 ngDoCheck()

检测,在发生angular无法或不愿意自己检测的变化时做出反应
在每个angular变更检测周期中调用,ngOnChanges()和ngOnInit()之后。

一般用于自己自定义操作

4 ngAfterContentInit()

当 Angular 把外部内容投影进组件视图或指令所在的视图之后调用。
第一次 ngDoCheck() 之后调用,只调用一次。

一般组件初始化完成之后的操作

5 ngAfterContentChecked()

每当 Angular 检查完被投影到组件或指令中的内容之后调用。
ngAfterContentInit() 和每次 ngDoCheck() 之后调用

一般组件初始化完成之后的操作

6 ngAfterViewInit()

当 Angular 初始化完组件视图及其子视图或包含该指令的视图之后调用。
第一次 ngAfterContentChecked() 之后调用,只调用一次。

视图层渲染完成之后

7 ngAfterViewChecked()

每当 Angular 做完组件视图和子视图或包含该指令的视图的变更检测之后调用。
ngAfterViewInit() 和每次 ngAfterContentChecked() 之后调用。

视图层渲染完成之后

8 ngOnDestroy()

每当 Angular 每次销毁指令/组件之前调用并清扫。 
在 Angular 销毁指令或组件之前立即调用。


组件销毁之前出发的生命周期