今天要介紹的是生命週期(lifecycle),在 Vue 裡面算是挺重要的部分,接下來就來一一講解~
在 Vue 實例以及組件(component) 的建立、掛載、更新再到消滅這些過程我們會稱為是生命週期。
我們先來看一下下面這張圖:
這張圖是 Vue 官網文件提供 Vue 完整的生命週期流程圖,我們在每個不同生命週期的過程會執行函式,這函式我們就會稱為生命週期函式(lifecycle hooks),也就是圖中紅色的部分。
那生命週期主要會分為 4 個階段:
這四個生命週期各自也會分為執行前及完成後 2 個階段,所以全部就會有 8個生命週期函式。
我們一一的來看一下整個生命週期的流程吧~
beforeCreate
created
,這時才 Vue 實例才算擁有前幾章介紹的方法。el
這個屬性,如果沒有的話會等到執行vm.$mount
掛載之後才會執行下一步el
之後會判斷是否有使用 template
,如果有就照 template 做渲染,如果沒有就會依據 el 所掛載的 HTML 元素作渲染beforeMount
,這時候還沒有真正掛載mounted
beforeUpdate
updated
,之後就會回到 mounted 的狀態beforeDestroy
Destroyed
完成後就會真正地消失了