# 组件生命周期
当 Angular 实例化组件类并渲染组件视图及其子视图时,组件实例的生命周期就开始了。生命周期一直伴随着变更检测,Angular 会检查数据绑定属性何时发生变化,并按需更新视图和组件实例。
# 生命周期的顺序
Angular 会按一下顺序执行钩子方法
ngOnChanges
ngOnInit
相当于 VueInit
ngDoCheck
ngAfterContentInit
相当于 Vuecreated
ngAfterContentChecked
ngAfterViewInit
相当于 Vuemounted
ngAfterViewChecked
ngOnDestroy
相当于 VuebeforeDestroy
注意:ngOnChanges ngDoCheck ngAfterContentChecked ngAfterViewChecked 在一个组件存活时,经常被多次触发,所以让它们的逻辑尽可能保持精简是非常重要的。
# 在实例销毁时进行清理
把清理逻辑放进 ngOnDestroy() 中,这个逻辑就必然会在 Angular 销毁该指令之前运行。
- 取消订阅可观察对象和 DOM 事件
- 停止 interval 计时器
- 注销该指令在全局或应用服务中注册过的所有回调