当前位置:首页 > VUE

vue生命周期实现

2026-01-23 10:01:35VUE

Vue 生命周期实现

Vue 的生命周期钩子是框架在组件创建、更新、销毁过程中自动调用的函数,开发者可以通过这些钩子在不同阶段执行自定义逻辑。以下是 Vue 生命周期的主要阶段及其实现方式:

生命周期钩子分类

  1. 创建阶段

    vue生命周期实现

    • beforeCreate:实例初始化后,数据观测和事件配置之前调用。此时 datamethods 未初始化。
    • created:实例创建完成,数据观测和事件配置已完成。可以访问 datamethods,但 DOM 未挂载。
  2. 挂载阶段

    • beforeMount:模板编译完成,但尚未将 DOM 挂载到页面。
    • mounted:DOM 挂载完成,可以操作 DOM 或发起异步请求。
  3. 更新阶段

    vue生命周期实现

    • beforeUpdate:数据变化后,DOM 更新前触发。
    • updated:DOM 更新完成后触发。
  4. 销毁阶段

    • beforeDestroy:实例销毁前调用,适合清理定时器或解绑事件。
    • destroyed:实例销毁后调用,所有子实例也会被销毁。

代码示例

export default {
  data() {
    return { message: 'Hello Vue!' };
  },
  beforeCreate() {
    console.log('beforeCreate: 数据未初始化');
  },
  created() {
    console.log('created: 数据已初始化', this.message);
  },
  beforeMount() {
    console.log('beforeMount: DOM 未挂载');
  },
  mounted() {
    console.log('mounted: DOM 已挂载');
  },
  beforeUpdate() {
    console.log('beforeUpdate: 数据更新前');
  },
  updated() {
    console.log('updated: DOM 更新后');
  },
  beforeDestroy() {
    console.log('beforeDestroy: 实例销毁前');
  },
  destroyed() {
    console.log('destroyed: 实例销毁后');
  }
};

注意事项

  • 避免在 beforeCreate 中访问 datamethods,此时它们尚未初始化。
  • mounted 不保证所有子组件都已挂载,如需等待子组件完成,可使用 this.$nextTick
  • beforeDestroy 中清理定时器、事件监听等资源,防止内存泄漏。

组合式 API 中的生命周期

在 Vue 3 的组合式 API 中,生命周期钩子以函数形式调用,名称略有变化(如 onMounted):

import { onMounted, onUpdated } from 'vue';

export default {
  setup() {
    onMounted(() => {
      console.log('组合式 API 的 mounted');
    });
    onUpdated(() => {
      console.log('组合式 API 的 updated');
    });
  }
};

标签: 生命周期vue
分享给朋友:

相关文章

实现.vue文件

实现.vue文件

创建.vue文件的基本结构 一个标准的.vue文件包含三个部分:模板(template)、脚本(script)和样式(style)。这种结构允许开发者在一个文件中管理组件的HTML、JavaScrip…

vue 全景实现

vue 全景实现

Vue 全景实现方案 在Vue中实现全景效果,通常需要结合WebGL或第三方库来处理3D场景渲染。以下是几种常见方法: 使用Three.js库 Three.js是一个强大的WebGL库,适合创建3D…

vue ref实现

vue ref实现

Vue 中 ref 的实现 在 Vue 中,ref 是一个用于创建响应式引用的 API,适用于基本类型和对象。以下是 ref 的核心实现原理和使用方法。 基本实现原理 ref 通过 Reactive…

vue下载实现

vue下载实现

Vue 下载实现方法 在 Vue 项目中实现文件下载功能可以通过多种方式完成,以下是几种常见的方法: 使用 <a> 标签实现下载 通过动态创建 <a> 标签并设置 href…

vue实现单词逆转

vue实现单词逆转

实现单词逆转的方法 在Vue中实现单词逆转可以通过多种方式完成,以下是几种常见的方法: 使用计算属性逆转单词 计算属性是Vue中处理数据逻辑的理想选择。可以通过计算属性来实现单词逆转: &…

vue实现精准查询

vue实现精准查询

实现精准查询的方法 在Vue中实现精准查询通常需要结合输入框、数据处理和筛选逻辑。以下是几种常见的方法: 使用计算属性进行筛选 计算属性适合对数据进行实时筛选,响应输入框的变化: <tem…