生命周期钩子
其中红色代表只执行一次(初始化类型的钩子),绿色代表执行多次(检测类型钩子)
钩子 | 解释 |
---|---|
constructor | 实例化对象 |
ngOnchanges | 初始化输入属性 |
ngOnInit | 初始化(除输入属性外的)其他属性 |
ngDoCheck | 组件变更检测 |
ngAfterContentInit | 投影内容初始化,第一次ngDoCheck()之后调用。 |
ngAfterContentChecked | 针对投影内容的变更检测 |
ngAfterViewInit | 初始化完组件视图及其子视图之后调用。第一ngAfterContentChecked()之后调用 |
ngAfterViewChecked | 每次做完组件视图和子视图的变更检测之后调用 |
ngOnDestory | 当Angular每次销毁指令/组件之前调用并清扫。 在这儿反订阅可观察对象和分离事件处理器,以防内存泄漏。 |
每一个钩子都是angular/core定义的接口,如OnInit
每一个接口都有一个唯一的钩子方法,使用ng+钩子接口名,如ngOnInit
OnChanges
ngOnchanges在父组件(初始化或修改)子组件的输入参数下调用,用在有输入属性的子组件。如果没有输入属性,就不会有这个OnChanges的生命周期。
发生在ngOnInit之前,而且每次发生变化都会被调用。