4.組件生命周期鉤子概述


例子演示所有鉤子的調(diào)用順序

1.子組件

這個(gè)#代表的是標(biāo)記 ${}顯示值 ? ?++就是后自增

2.父組件app.html

3.

效果:

結(jié)論:構(gòu)造函數(shù)一定存在,其他方法根據(jù)實(shí)際實(shí)現(xiàn)。如果沒實(shí)現(xiàn)這些鉤子,發(fā)生這些事,組件就跳過去了。

ngOnChanges:在ngOnInit之前,當(dāng)數(shù)據(jù)綁定輸入屬性的值發(fā)生變化時(shí)。

ngOnInit:在第一次ngOnChanges之后。用來初始化 ?(輸入屬性name在構(gòu)造函數(shù)是空的,在第一次調(diào)用ngOnChanges被初始化,如果組件初始化依賴輸入屬性值,初始化邏輯寫在ngOnInit中)

什么是生命周期鉤子

?簡單點(diǎn)來說生命周期鉤子就是Angular中一個(gè)組件從被創(chuàng)建當(dāng)銷毀期間的一些有意義的關(guān)鍵時(shí)刻.這些關(guān)鍵時(shí)刻在Angular中被Angular核心模塊 @angular/core 暴露出來,賦予了我們在它們發(fā)生時(shí)采取行動(dòng)的能力.

指令和組件的實(shí)例有一個(gè)生命周期:新建、更新和銷毀。

每個(gè)接口都有唯一的一個(gè)鉤子方法,它們的名字是由接口名加上?ng前綴構(gòu)成的。比如,OnInit接口的鉤子方法叫做ngOnInit。

生命周期順序簡寫

在Angular通過構(gòu)造函數(shù)創(chuàng)建組件/指令時(shí),它調(diào)用這些生命周期鉤子方法的順序是:

ngOnChanges:在ngOnInit之前,當(dāng)數(shù)據(jù)綁定輸入屬性的值發(fā)生變化時(shí)。

ngOnInit:在第一次ngOnChanges之后。用來初始化 ?(輸入屬性name在構(gòu)造函數(shù)是空的,在第一次調(diào)用ngOnChanges被初始化,如果組件初始化依賴輸入屬性值,初始化邏輯寫在ngOnInit中)

ngDoCheck:每次Angular變化檢測時(shí)。

ngAfterContentInit:在外部內(nèi)容放到組件內(nèi)之后。

ngAfterContentChecked:在放到組件內(nèi)的外部內(nèi)容每次檢查之后。

ngAfterViewInit:在初始化組件視圖和子視圖之后。

ngAfterViewChecked:在妹子組件視圖和子視圖檢查之后。

ngOnDestroy:在Angular銷毀組件/指令之前。

除此之外,一些組件還提供了自己的生命周期鉤子。例如router有routerOnActivate

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 組件基礎(chǔ) 組件用來包裝特定的功能,應(yīng)用程序的有序運(yùn)行依賴于組件之間的協(xié)同工作。組件是angular應(yīng)用的最小邏輯單...
    oWSQo閱讀 1,450評論 0 0
  • 一.課程簡介 (注意:這里的AngularJS指的是2.0以下的版本) AngularJS的優(yōu)點(diǎn): 模板功能強(qiáng)大豐...
    壹點(diǎn)微塵閱讀 1,008評論 0 0
  • 最近中年油膩男這個(gè)詞突然火爆了起來。我上網(wǎng)一查才知道這個(gè)詞出自馮唐的一篇文章。油膩男是用來形容七零,八零后...
    RuiDing閱讀 1,528評論 0 0
  • “上一次感冒吞下的苦藥治愈嗎 你的身體都知道” 腦袋里一直“嗡嗡聲”作祟,似耳鳴又似腦鳴,醫(yī)生看了也無解,偏頭痛,...
    費(fèi)汐寧閱讀 490評論 2 3
  • 說說今天晚上的經(jīng)歷吧。 往年大鄭州六月份的夜市如火如荼,今年好像有點(diǎn)小心翼翼。 走了快一...
    隨入夢深閱讀 562評論 0 0

友情鏈接更多精彩內(nèi)容