vue2中生命周期详解

在 Vue.js 中,组件实例化时会经历一系列的生命周期钩子函数。这些钩子函数可以用于在不同的阶段执行一些逻辑,比如初始化数据、挂载 DOM、更新数据等。Vue.js 的生命周期分为 8 个阶段,分别为:

1.beforeCreate:组件实例被创建之初,此时组件的 data 和 methods 等属性均不存在。

2.created:组件实例创建完成之后,此时组件的 data 和 methods 等属性已经创建,但还未挂载到 DOM 树中。

3.beforeMount:组件即将被挂载到 DOM 树中,此时组件的模板已经编译完成。

4.mounted:组件已经成功地挂载到 DOM 树中,此时可以对 DOM 进行操作。

5.beforeUpdate:组件的数据发生变化,重新渲染前调用。

6.updated:组件的数据已经更新完成,DOM 已经重新渲染。

7.beforeDestroy:组件即将被销毁,此时可以进行一些清理工作,比如取消定时器、解绑事件等。

8.destroyed:组件已经被销毁,此时组件的所有内容都已经从 DOM 树中移除。

这些生命周期钩子函数可以在组件内部通过定义相应的方法来使用,例如:

export default {
    
    
  data() {
    
    
    return {
    
    
      message: 'Hello, Vue!'
    };
  },
  beforeCreate() {
    
    
    console.log('beforeCreate');
  },
  created() {
    
    
    console.log('created');
  },
  beforeMount() {
    
    
    console.log('beforeMount');
  },
  mounted() {
    
    
    console.log('mounted');
  },
  beforeUpdate() {
    
    
    console.log('beforeUpdate');
  },
  updated() {
    
    
    console.log('updated');
  },
  beforeDestroy() {
    
    
    console.log('beforeDestroy');
  },
  destroyed() {
    
    
    console.log('destroyed');
  }
};

需要注意的是,钩子函数中的 this 指向当前组件实例。在使用这些钩子函数时,可以根据需求执行一些初始化工作、获取数据、渲染页面等操作,以及进行一些清理工作,避免出现内存泄漏等问题。

猜你喜欢

转载自blog.csdn.net/weixin_45357661/article/details/130457095
今日推荐