constructor 构造函数永远首先被调用
ngOnChanges 输入属性变化时被调用 (在组件的 '@Input' 属性发生变化的时候调用)
ngOnInit 组件初始化时被调用
ngDoCheck 脏值检测时调用 (会调用多次)
ngAfterContentInit 当内容投影ng-content完成时调用
ngAfterContentChecked Angular检测投影内容时被调用(多次)
ngAfterVierInit 当组件视图(子视图)初始化完成时
ngAfterViewChecked 当检测视图变化时(多次)
ngOnDestory 当组件销毁时