先来看下文档:
按照顺序有八个:
1、ngOnChanges()=》简单理解为当数据绑定输入属性的值发生变化时调用;
2、ngOnInit() =》 在调用完构造函数、初始化完所有输入属性并首次调用过ngOnChanges
之后调用;
3、ngDoCheck()=》 每当对组件或指令的输入属性进行变更检测时就会调用。可以用它来扩展变更检测逻辑,执行自定义的检测逻辑;
4、ngAfterContentInit ()=》 ngOnInit
完成之后,当组件或指令的内容(ng-content
)已经初始化完毕时调用;
5、ngAfterContentChecked() =》 每当组件或指令的内容(ng-content
)做变更检测时调用;
6、ngAfterViewInit () =》 当ngAfterContentInit
完毕,并且组件的视图已经初始化完毕时调用。只适用于组件;
7、ngAfterViewChecked () =》 当组件视图每次执行变更检测时调用。只适用于组件;
8、ngOnDestroy() =》 只在实例被销毁前调用一次;
其中1/2/3/8是指令和组件共同可用的,4/5/6/7只适用于组件;
写法:
export class XxxComponent implements
OnInit,
OnChanges,
DoCheck,
AfterContentInit,
AfterContentChecked,
AfterViewChecked,
AfterViewInit,
OnDestroy {
// balabalabala...
}