Angular——組件生命週期

指令和組件的實例都有一個生命週期:新建、更新和銷燬。

當Angular使用構造含新建一個組件或指令後,就會按照特定的順序調用這些生命週期鉤子方法:

他們的順序爲:

  • ngOnChanges():當組件數據綁定的輸入屬性發生改變時發生,該方法接受一個SimpleChanges對象,包括當前值和上一屬性值。首次調用一定發生在ngOnInit前,注意的是該方法僅限於對象的引用發生變化時,也就是說,如果對象的某個屬性發生變化,Angular是不會觸發onChanges的
  • ngOnInit():初始化指令或組件,在angular第一次展示組件的綁定屬性後調用,該方法只調用一次
  • ngDocheck: 檢測,並在發生Angular無法或不願意自己檢測的變化時作出反應。
    在每個Angular變更檢測週期中調用,ngOnChanges()ngOnInit()之後。

    • ngAfterContentInit: 當把內容投影進組件之後調用。
      第一次ngDoCheck()之後調用,只調用一次. 只適用於組件。
    • ngAfterContentChecked: 每次完成被投影組件內容的變更檢測之後調用。
      ngAfterContentInit()和每次ngDoCheck()之後調用,只適合組件。
    • ngAfterViewInit: 在angular初始化組件及其子組件的視圖之後調用, 只調用一次,第一次
      ngAfterContentChecked()之後調用.只適合組件。
    • ngAfterViewChecked: 每次做完組件視圖和子視圖的變更檢測之後調用。
      ngAfterViewInit()和每次ngAfterContentChecked()之後調用。只適合組件。
  • ngOnDestroy:在angular每次銷燬組件或指令之前調用, 通常用於移除事件監聽,退訂可觀察對象等。釋放那些不會被垃圾收集器自動回收的各類資源的地方。取消那些對可觀察對象和DOM事件的訂閱。停止定時器。註銷該指令曾註冊到全局服務或應用級服務中的各種回調函數。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章