Vue 生命週期

2021-09-24 19:03:26 字數 1714 閱讀 2103

vue的生命週期分為三個階段,分別為: 初始化,執行中, 銷毀,一共8個鉤子函式

注意: 生命週期鉤子函式不允許寫成箭頭函式

初始化:

beforecreate ------------ 相親準備前( 爸媽準備, 你根本是局外人 )

1. 元件建立前觸發,目的是為了元件的生命週期 和 元件中的事件做準備

2. 資料沒有獲得,真實dom也沒有渲染出來

3. 可以進行資料請求,提供了一次資料修改的機會

4. 執行一次

created ------------ 爸媽告訴你了,這邊有幾個備選, 選乙個吧

1. 元件建立結束

2. 資料得到了,真實dom沒有渲染出來

3. 可以進行資料請求,提供了一次資料修改的機會

4. 執行了一次

1. 元件掛載前

2. 任務: 判斷el 判斷 template

如果el沒有,那麼我們需要手動掛載,如果有,那麼判斷template

如果template有,那麼進行render函式

如果template沒有,那麼通過 outerhtml 手動書寫模板

3. 資料可以獲得,但是真實dom還沒有渲染

4. 可以進行資料請求,也提供了一次資料修改的機會

5. 執行一次

mounted ------------ 見面

1. 元件掛載結束

2. 資料獲得了,真實dom也獲得了

3. 可以進行資料請求,也就可以修改資料

4. 執行了一次

5. 可以進行真實dom的操作了( 可以進行第三方庫的例項化了 )

綜上總結:

兵哥推薦:

1. 資料請求一般寫在created裡面

2. 第三方庫例項化我們一般會往mounted中寫

-------------------------- 執行中------------------------------

觸發條件:資料更新

beforeupdate

1. 更新前

2. 重新渲染 vdom , 然後通過diff演算法比較兩次vdom,生成patch 補丁物件

3. 這個鉤子函式更多的是內部進行一些操作,我們就不在多干預了

4. 可以觸發多次

updated

1. 更新結束

2. 真實dom得到了,資料也得到了( 更新後的 )

3. 動態資料獲取( 第三方庫例項化 )

}

vue的銷毀有兩種形式

1. 通過開關的形式 - 外部銷毀

2. 通過呼叫 $destroy 方法 - 內部銷毀

-------------------- vue生命週期的銷毀階段 -------------------

觸發條件: 當元件銷毀時:

beforedestroy

destroyed

統一講兩個鉤子

為什麼?

因為這兩個鉤子功能一致的,這兩個鉤子沒有太大的區別

作用:用來做善後的,比如計時器的關閉 第三方例項的刪除

配置項寫在生命週期鉤子函式的上

對比: 內部銷毀 vs 外部銷毀

外部銷毀不僅能銷毀元件,也能銷毀該元件的dom結構*

內部銷毀只能銷毀元件,不能銷毀元件的dom結構*

銷毀 hello

vue生命週期

beforecreate 元件例項剛剛被建立,屬性都沒有 create 例項已經建立完成,屬性已經繫結 beforemount 模板編譯之前 mounted 模板編譯之後 beforeupdate 元件更新之前 updated 元件更新完畢 beforedestroy 元件銷毀之前 destroye...

vue生命週期

vue把整個生命週期劃分為建立 掛載 更新 銷毀等階段,每個階段都會給一些 鉤子 讓我們來做一些我們想實現的動作。學習例項的生命週期,能幫助我們理解vue例項的運作機制,更好地合理利用各個鉤子來完成我們的業務 我們分別來看看這幾個階段 1.beforecreate 此階段為例項初始化之後,此時的資料...

Vue 生命週期

import vue from vue el root 沒有的話,使用render,繼續沒有,就把el的outerhtml編譯成模板 template temp data beforecreate created el是原來的el beforemount 渲染函式 render h this.tex...