[Vue] #2 Vue的生命週期 - antqtech/KM GitHub Wiki
Vue生命週期是Vue.js框架的核心概念之一,它定義了組件從創建到銷毀的整個生命週期過程。
為何需要生命週期?
Vue生命週期的主要目的是在組件不同的階段執行特定的代碼或邏輯。
以下是為什麼我們需要生命週期的一些原因:
初始化數據:在組件創建階段,我們可以在生命週期鉤子(lifecycle hook)中初始化數據,例如從服務器獲取數據或設置默認值。
監聽事件:生命週期鉤子還提供了在組件不同階段監聽和響應事件的機制,這使得我們能夠對特定事件做出適當的處理。
更新視圖:Vue生命週期中的更新階段允許我們對組件進行重新渲染,使得視圖能夠及時反映數據的變化。
資源釋放:在組件銷毀階段,我們可以釋放資源、取消事件監聽器、清除定時器等,以避免內存泄漏和其他資源問題。
Vue生命週期是Vue.js框架的核心概念之一,它定義了組件從創建到銷毀的整個生命週期過程。
為何需要生命週期?
Vue生命週期的主要目的是在組件不同的階段執行特定的代碼或邏輯。它使開發者能夠掌握組件的創建、更新和銷毀過程,從而能更好地管理組件的狀態和行為。
初始化數據:在組件創建階段,我們可以在生命週期鉤子(lifecycle hook)中初始化數據,例如從服務器獲取數據或設置默認值。
監聽事件:生命週期鉤子還提供了在組件不同階段監聽和響應事件的機制,這使得我們能夠對特定事件做出適當的處理。
更新視圖:Vue生命週期中的更新階段允許我們對組件進行重新渲染,使得視圖能夠及時反映數據的變化。
資源釋放:在組件銷毀階段,我們可以釋放資源、取消事件監聽器、清除定時器等,以避免內存泄漏和其他資源問題。
各個週期的功能
Vue生命週期分為創建、更新和銷毀三個階段,每個階段都有不同的生命週期鉤子,以下是每個階段的功能和常用的生命週期鉤子:
創建階段(Creation Phase)
beforeCreate:在組件創建之前被調用,此時組件的數據和事件還未初始化。
created:在組件創建完成之後被調用,此時組件的數據已經初始化,但模板和DOM元素還未生成。在此階段,可以訪問組件的數據,設置默認值,進行非同步操作等。
掛載階段(Mounting Phase)
beforeMount:在組件被掛載到DOM之前被調用。此時,組件的模板已經編譯完成,但尚未插入到DOM中。
mounted:在組件被掛載到DOM之後被調用。此時,組件已經生成對應的DOM元素,可以進行DOM操作,註冊事件監聽器,進行其他初始化工作。
更新階段(Updating Phase)
beforeUpdate:在組件更新之前被調用。當組件的數據發生變化時,Vue會重新渲染組件,但尚未應用更新到DOM。
updated:在組件更新之後被調用。此時,組件的數據已經更新且應用到DOM上,可以進行相應的DOM操作、訪問更新後的數據等。
銷毀階段(Destroying Phase)
beforeDestroy:在組件被銷毀之前被調用。在此階段,組件仍然完全可用,可以進行清理操作,例如取消事件監聽器、清除定時器等。
destroyed:在組件被銷毀之後被調用。在此階段,組件的所有資源都已被釋放,不再可用。