生命周期執行順序
ngOnChanges
在有輸入屬性的情況下才會調用,該方法接受當前和上一屬性值的SimpleChanges對象。如果有輸入屬性,會在ngOnInit之前調用。
ngOnInit
在組件初始化的時候調用,只調用一次,在第一次調用ngOnChanges之后調用
ngDoCheck
在組件定義的屬性或方法變更時調用(用於臟值之檢測,非常耗性能,因為會把所有的屬性和方法都檢測一遍),會在ngOnChanges()和ngOnInit()之后
ngAfterContentInit
在組件內容初始化之后調用,在第一次ngDoCheck之后調用,只調用一次
ngAfterContentChecked
在組件每次檢查內容放生變更時調用。在ngAfterContentInit和每次ngDoCheck之后調用
ngAfterViewInit
在組件相應的視圖初始化之后調用,第一次ngAfterContentChecked之后調用,只調用一次
ngAfterViewChecked
在組件每次檢查視圖發生變更時調用。ngAfterViewInit和每次ngAfterContentChecked之后調用。
ngOnDestroy
在組件銷毀前調用,做一些清理工作,比如退訂可觀察對象和移除事件處理器,以免導致內存泄漏。
