Angular-生命周期钩子
1、生命周期执行顺序
答:
a、ngOnchanges:在组件有输入属性时和每次输入属性变化时会触发变更检测,如果组件没有输入属性就不会触发此生命周期
b、ngOnInit:在组件第一次执行ngOnChanges之后调用,如果组件没有输入属性就不会调用ngOnChanges钩子,则会直接执行ngOnInit
c、ngDoCheck:在每次执行变更检测时的ngOnChanges之后以及首次执行变更检测时OnInit之后调用
d、ngAfterContentInit:在首次DoCheck执行之后执行一次,且只调用一次,可以借助ContentChild、ContentChildren来获取投影内容的引用
e、ngAfterContentChecked:在每次DoCheck之后以及首次ContentInit之后调用
f、ngAfterViewInit:在ContentInit之后执行一次,且只调用一次,可以借助ViewChild、ViewChildren来获取子视图的实例
g、ngAfterViewChecked:在每次ContentChecked之后执行以及首次ViewInit之后执行
h、ngOnDestory:在组件或者指令销毁之前调用,做一些数据清理工作,取消对可订阅对象的订阅