一、beforeCreate
在Vue實例初始化之後,beforeCreate函數會被立即調用。這個函數是Vue中最早的生命周期函數。在這個函數中,你可以做一些比較早期的初始化工作。但是要注意,這個時候數據和事件還沒有被初始化,因此你不能訪問響應式數據,也不能使用事件系統。
new Vue({ beforeCreate: function () { console.log('beforeCreate') } })
二、created
在beforeCreate之後,created函數會被調用。在這個階段,Vue實例已經完成了數據和事件的初始化。這個時候,你可以訪問響應式數據和使用事件系統。但是要注意,這個時候模版還沒有被渲染成最終的DOM。
new Vue({ created: function () { console.log('created') } })
三、beforeMount
在created之後,beforeMount函數會被調用。在這個階段,Vue實例已經準備好將模版渲染成最終的HTML。但是還沒有進行實際的渲染,因此你可以在這個階段修改模版。
new Vue({ beforeMount: function () { console.log('beforeMount') } })
四、mounted
在beforeMount之後,mounted函數會被調用。在這個階段,Vue實例已經把模版渲染成實際的HTML,並且掛載到DOM上。這個時候,你可以訪問實際的DOM元素。
new Vue({ mounted: function () { console.log('mounted') } })
五、beforeUpdate
在mounted之後,beforeUpdate函數會被調用。在這個階段,Vue實例的數據已經更新,但是還沒有重新渲染成最終的HTML。在這個階段,你可以訪問更新前的DOM和數據。
new Vue({ beforeUpdate: function () { console.log('beforeUpdate') } })
六、updated
在beforeUpdate之後,updated函數會被調用。在這個階段,Vue實例的數據已經更新,並且已經重新渲染成最終的HTML。這是Vue生命周期中最重要的一個階段。在這個階段,你可以訪問更新後的DOM和數據。但是要注意,避免在這個階段修改數據。
new Vue({ updated: function () { console.log('updated') } })
七、beforeDestroy
在Vue實例銷毀前,beforeDestroy函數會被調用。在這個階段,Vue實例仍然完全可用,你可以訪問所有的數據和方法。但是要注意,這個時候模版已經被卸載,因此你不能訪問實際的DOM元素。
new Vue({ beforeDestroy: function () { console.log('beforeDestroy') } })
八、destroyed
在beforeDestroy之後,destroyed函數會被調用。在這個階段,Vue實例已經被銷毀,所有的事件監聽器和計算屬性都已經被移除。這個時候,你不能訪問任何的數據和方法。
new Vue({ destroyed: function () { console.log('destroyed') } })
總結
Vue提供了一系列的生命周期函數,在不同的階段,你可以做一些事情。通過合理地使用這些函數,可以幫助我們更好地組織代碼和實現業務邏輯。
原創文章,作者:AVSED,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/372422.html