第一階段:Creation 初始建置
Creation 階段是組件中運行的第一個 Hook 函式,與其他階段不同,它是在伺服器端渲染期間運行。因此,若需要在客戶端渲染和伺服器渲染期間於元件當中設置事件,須於此階段進行設定。
- beforeCreate:Vue實例 初始化。
- created:Vue實例 建立完成。資料 $data 已可取得,但 $el 屬性尚未被建立。
第二階段:Mounting 資料掛載
接續上一個 Creation 階段,首先他會先判斷是否有無 $el 屬性,若沒有則會嘗試另一種掛載方式(使用$mount掛載el)。
再來會判斷是否有 $template 屬性 ,若有則直接使用 render function ,反之則使用 $el teamplate 進行模板編譯。
- beforeMount:執行元素掛載之前,代表 $el 尚未被建立。
- mounted:元素已掛載, $el 被建立,是最常使用的生命週期 hook
補充:若要操作 AJAX,須於 created Hook階段後才能使用,但通常到 mounted Hook 階段,也就是現在才會被使用,屆時,也代表資料已掛載成功。
第三階段:Updating 重新渲染畫面
當元件的資料屬性發生變動,或其他因素導致畫面需要重新渲染時,則會調用 Updating 刷新網頁內容。
- beforeUpdate:當資料改變被呼叫使用,還不會渲染 View。
- updated:當資料更新完成,則驅動 DOM 元素重新渲染畫面 View。
第四階段:Destruction 銷毀
當呼叫 destroy 函式時,則會執行銷毀的動作,將原始的元件從 DOM 元素中移除。
- beforeDestroy:Vue實例還可使用。
- destroyed:Vue實例銷毀,所有的DOM 元素綁定被解除、移除偵聽事件、Vue child 實例也被一併銷毀。