什么是vue的生命周期?
Vue 的實例從創建到銷毀的過程 ,就是生命周期 ,也就是從開始創建 ,初始化數據 ,編譯模板 ,掛載Dom到渲染DOM ,更新數據再到渲染 ,卸載等一系列的過程 ,我們稱這是Vue的生命周期而這些Vue生命周期過程中會伴隨著一些函數的自調用。我們稱這些函數為鉤子函數。
一、vue生命周期示意圖
二、Vue生命周期的作用是什么?
Vue生命周期過程中會伴隨著多個事件鉤子 ,這些鉤子函數讓我們在控制整個Vue實例的過程時更容易形成好的邏輯。Vue生命周期總共分8個階段:創建前/后 ,載入前/后 ,更新前/后 ,銷毀前/后。
1.創建階段
在這個階段,Vue 實例正在初始化,它會在內存中創建一個實例,并對實例進行初始化設置。在這個階段,Vue 會調用一些特定的函數來創建實例,這些函數可以在組件中進行重寫或自定義。
beforeCreate:
在實例被創建之前調用,此時組件實例的數據和方法都還未初始化。在這個階段,通常可以進行一些全局變量或實例屬性的初始化設置,可以加loading……事件 ,加載實列時觸發。
created:
在實例創建之后調用,此時組件實例的數據和方法已經初始化完成,但尚未被掛載到 DOM 上。在這個階段,通常可以進行一些數據的初始化、異步請求等操作,loading……事件結束等。
2.掛載階段
在這個階段,Vue 實例已經完成了初始化設置,并將組件掛載到了 DOM 上,可以進行渲染和交互了。
beforeMount:
在組件掛載到 DOM 之前調用,此時組件已經完成了模板編譯,但還未將組件掛載到實際的 DOM 上。
mounted:
在組件掛載到 DOM 后調用,此時組件已經完成了渲染和掛載,可以進行 DOM 操作和交互。在這個階段,通常可以進行一些依賴于 DOM 的操作,例如獲取元素尺寸、綁定事件等,可以使用一些第三方的插件實例寫在這個函數內。
3.更新階段
在這個階段,組件可能會被重新渲染,或者被銷毀。在組件被重新渲染時,也會觸發更新階段的鉤子函數。
beforeUpdate:
在組件更新之前調用,此時組件的數據已經發生了改變,但尚未重新渲染。在這個階段,通常可以進行一些在數據更新前的操作,例如獲取更新前的狀態、進行異步請求等。
updated:
在組件更新之后調用,此時組件的數據已經重新渲染完成,可以進行 DOM 操作和交互。在這個階段,通常可以進行一些依賴于 DOM 的操作,例如獲取更新后的元素尺寸、重新綁定事件等。
?
4.銷毀階段
在組件被銷毀時,會觸發銷毀階段的鉤子函數。
beforeDestroy:
在組件被銷毀之前調用,此時組件實例還沒有被銷毀,但是已經從父組件中移除了。在這個階段,通常可以進行一些清理工作,例如取消定時器、清除全局事件等。
destroyed:
在組件被銷毀之后調用,此時組件實例已經完全被銷毀,無法訪問到組件的數據和方法。在這個階段,通常可以進行一些最后的清理工作。
總結
要想學精vue,生命周期必須知道什么階段進行了什么操作,我們可以在階段上進行什么運算。vue八大階段,可以讓我們更好的理解起邏輯進行開發。