当前位置:首页 > 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 的“查看更多”功能 数据截取与显示控制 通过 v-if 或 v-show 控制内容的显示与隐藏。初始状态下只显示部分内容,点击“查看更多”后展开完整内容。 <template&g…

分页实现vue

分页实现vue

分页实现(Vue) 在Vue中实现分页功能通常需要结合前端分页逻辑和后端API支持。以下是两种常见的实现方式: 前端分页实现 适用于数据量较小的情况,直接在客户端完成分页逻辑。 <templ…

vue 实现分屏

vue 实现分屏

Vue 实现分屏的方法 使用 CSS Flexbox 或 Grid 布局 通过 CSS Flexbox 或 Grid 布局可以轻松实现分屏效果。在 Vue 组件中定义两个或多个区域,并使用 CSS 控…

vue 实现excel

vue 实现excel

Vue 实现 Excel 功能 前端导出 Excel 使用 xlsx 库可以轻松实现前端 Excel 导出功能。安装依赖: npm install xlsx 导出 Excel 示例代码: impo…

vue实现导出excel实现流程

vue实现导出excel实现流程

安装依赖库 需要安装 xlsx 和 file-saver 库来处理 Excel 文件的生成和保存。通过 npm 或 yarn 安装: npm install xlsx file-saver # 或…

vue实现左右菜单联动实现

vue实现左右菜单联动实现

Vue 实现左右菜单联动 使用事件总线通信 在 Vue 中可以通过事件总线实现左右菜单的通信。创建一个中央事件总线实例,让左右菜单通过事件监听和触发实现联动。 // eventBus.js impo…