vue元件的生命週期

2022-05-23 20:00:11 字數 2184 閱讀 9779

beforecreate:實列建立之前。

created:實列建立完成。

beforemount:掛載開始之前被呼叫。

mounted:實列掛載到dom上

beforeupdate:響應式資料更新時呼叫

updated:虛擬dom重新渲染和打補丁之後呼叫

beforedestroy :實列銷毀之前呼叫

destroyed :實列銷毀後呼叫

四個執行 過程 create初始 mount 載入 update更新 destroy銷毀

1beforecreate()遇到的第乙個生命週期函式表示例項完全被建立出來之前,會執行它

注事:在beforecreate生命週期函式執行的時候,data和methods中的資料都還沒有沒初始化

2created(){}第二個生命週期data和methods 都已經被初始化好了!

如果要呼叫methods中的方法 或者操作data中的資料最早先用created方法

下來是vue開始編譯模板

--------------------------------------

這裡表示vue開始編輯模板,

|把vue**中的那些指令進行執行,最終,

在記憶體中生成乙個編譯好的最終模板字串

然後,把這個模板字串,渲染為記憶體中的dom

此時,只是在記憶體中,追染好了模板,並沒有把模板

|掛載到真正的頁面中去;

---------------------------------------

3第三個生命週期函式:beforemont(){}

beforemount(){ // 這是遇到的第3個生命週期函式,表示模板已經在記憶體中編輯完成了,但是尚未把模

板渲染到頁面中

/在beforemount 執行的時候,頁面中的元素,還沒有被真正替換過來,只是之前寫的一些模板字串

beforemount在執行時 此函式執行的時候,模板已經在記憶體中編譯好了, 但是尚未掛載到頁面中去, 此時,頁

面還是舊的

下一步create vm,seland replace'el" with it

這-步,將記憶體中編譯好的模板,真實的

替換到瀏覽器的頁面中去;

mounted(){ // 這是遇到的第4個生命週期函式,表示,記憶體中的模板,已經真實的掛載到了頁面中,使用者

已經可以看到渲染好的頁面了

------------------------------------------

如果要通過某些外掛程式操作頁面.上的dom節

點了,最早要在mounted中進行

第四個生命週期:只要執行完了mounted , 就表示整個

vue例項已經初始化完畢了;

此時,元件已經脫離了建立階段;

進入到了執行階段

下面這些是元件執行階段的生命週期函式

只有兩個:

------------------------------------------

beforeupdate和updated

第五個生命週期執行beforeupdate的時候,頁面中的顯示的資料,還是舊的,此時data 資料是最

新的,頁面尚未和最新的資料保持同步

virtmual dom

re-render

and patch

這一步執行的是:先根據data中最新的資料,在記憶體中,重新渲染出-份最新的

記憶體dom樹,

當最新的記憶體dom樹被更新之後,會把最新的記憶體dom樹,重新渲染到真實

的頁面中去,這時候,就完成了資料從data(model層) > view(檢視層) 的更新

第六個生命週期:updated 事件執行的時候,頁面和data資料已經保持同步了,都是最新的

第七個生命週期:beforedestroy

第八個生命週期:當執行beforedestroy鉤子函式的時候, vue例項就已經從執行階段,進入到了

銷毀階段;

當執行beforedestroy 的時候,例項身上所有的data和所有的methods ,以

及過濾器、指令....都處於可用狀態,此時,還沒有真正執行銷毀的過程

第九個生命週期:destroyed

當執行到destroyed函式的時候,元件已

經被完全銷毀了,此時,元件中所有的數

據、方法,

指令、過濾器點都已經不可

用了

vue元件生命週期

beforecreate建立前 created建立後 beforemountvue裝載dom之前 mountedvue裝載dom之後 beforeupdate資料改變出發,改變前 updated資料改變出發改變後 beforedestory元件銷毀前 destoryed元件銷毀後 beforeact...

Vue元件的生命週期

有乙個需要是分別在建立b元件和b bro元件時利用事件匯流排 on 註冊 乙個事件,在銷毀元件前 off 登出 這個事件,開始我是分別在created中 on,在beforedestory中 off,但是發現b bro中的事件註冊不上該事件,最後發現是生命週期的原因 b bro beforecrea...

Vue元件的生命週期

1.建立 2.掛載 3.更新 4.銷毀 1,元件初始化的時候會執行哪些生命週期函式?beforecreate created beforemount mounted 2,哪些生命週期函式會執行多次 beforeupdate updated beforecreate 當元件例項化的時候,做了乙個初始化...