1. 程式人生 > >對Vue生命週期鉤子函式的理解

對Vue生命週期鉤子函式的理解

對Vue生命週期鉤子函式的理解

例項建立之後,初始化事件和生命週期,而後觸發beforeCreate。beforeCreate,當前例項建立之前,很少操作,一般用於載入動畫,比如建立一個旋轉動畫。created表示當前例項建立完成,元件、屬性等初始化完成,一般封裝一個方法,從網路請求資料。該方法呼叫,觸發回撥,關閉beforeCreated中的旋轉載入動畫。當前例項建立完成,頁面還未渲染未顯示,拿不到DOM元素。而後,判斷例項中是否有el屬性(掛載點),如果有,繼續往下;如果沒有,然後判斷是不是有vm. m

o u n t
t e m
p l a t e b e f o r e M o u n t v m . mount,兩者二選其一,接著判斷有沒有template,如果有,觸發渲染函式,進入beforeMount,表示將要掛載,頁面仍未顯示,接著建立vm. el,接著觸發mounted,此時可以操作dom,beforeUpdate與update保持資料與頁面的同步,會頻繁觸發,一般不要進行操作。接下來,destroyed表示元件銷燬,destroy的中一般用於取消計時器、觀察者等等。## 標題

附帶圖片理解

在這裡插入圖片描述

1)beforeCreat
元件例項將要被建立,這個時候可以載入一個動畫效果。
2)created
元件例項被建立之後,可以訪問到例項中data屬性和methods方法,但是沒有被渲染,所以無法操作DOM,$el是undefined。這時候可以向伺服器發起請求
3)beforeMount
元件例項將要被掛載但是還沒有掛載,頁面未顯示,在開發中一般很少用。
4)mounted
元件例項被掛載,頁面已經被渲染,頁面顯示,可以操作DOM。此時也可以向伺服器傳送請求
5)beforeUpdate
元件將要更新
6)updated
元件更新之後,可以操作DOM
注意:
data資料發生變化,就會觸發updated鉤子函式,進行頁面渲染,引起檢視變化。由於觸發頻率很高,我們很少操作,即使操作,也要保證內部方法輕量級。
7)beforeDestroy
元件將要銷燬
8)destroyed
元件已經被銷燬,經常在該時機移出耗時操作,比如計時器等