Vue.js 的实例生命周期指的是 Vue 实例在创建、更新和销毁过程中的一系列事件和钩子函数,允许在不同阶段执行自定义操作。Vue 实例的生命周期可以分为以下阶段:
创建(Creation):
beforeCreate:在实例初始化之后,数据观测和事件配置之前调用。
created:实例已经创建完成,数据观测和事件配置都已完成,但虚拟 DOM 尚未创建,不能访问 $el。
挂载(Mounting):
beforeMount:在挂载开始之前被调用,可以访问 $el。
mounted:在实例被挂载后调用,可以访问 $el,此时实例已经成为 DOM 树上的一个节点。
更新(Updating):
beforeUpdate:在数据更新时调用,但在 DOM 重新渲染之前。
updated:在数据更新并且 DOM 重新渲染后调用。
销毁(Destroying):
beforeDestroy:在实例销毁之前调用,可以进行一些清理工作。
destroyed:在实例销毁后调用,可以访问实例的数据,但不再能访问 $el。
new Vue({data: {message: 'Hello, Vue!'},beforeCreate() {console.log('beforeCreate: The message is ' + this.message);},created() {console.log('created: The message is ' + this.message);},beforeMount() {console.log('beforeMount: The message is ' + this.message);},mounted() {console.log('mounted: The message is ' + this.message);},beforeUpdate() {console.log('beforeUpdate: The message is ' + this.message);},updated() {console.log('updated: The message is ' + this.message);},beforeDestroy() {console.log('beforeDestroy: The message is ' + this.message);},destroyed() {console.log('destroyed: The message is ' + this.message);},methods: {changeMessage() {this.message = 'Vue is awesome!';},destroyInstance() {this.$destroy();}}
});