当前位置:首页 > 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 Router 的路由配置可以天然转化为菜单结构,适合权限与路由绑定的系统: // router/index.js const rout…

vue如何实现到期提醒

vue如何实现到期提醒

实现 Vue 到期提醒功能 使用计算属性计算剩余时间 在 Vue 组件中定义一个计算属性,计算目标日期与当前日期的差值。通过 Date 对象获取时间戳并计算剩余天数或小时数。 computed: {…

vue 实现在线预览

vue 实现在线预览

Vue 实现在线预览的常见方法 使用 iframe 嵌入 通过 iframe 标签可以嵌入多种类型的文件,如 PDF、图片、网页等。需要确保文件地址可访问。 <template> &…

vue穿梭框组件实现

vue穿梭框组件实现

实现基础穿梭框组件 在Vue中实现穿梭框组件,可以使用<el-transfer>(Element UI)或手动实现。以下是手动实现的核心逻辑: <template> &l…

vue实现绑卡的原理

vue实现绑卡的原理

Vue 实现绑卡的原理 Vue 实现绑卡功能通常涉及前端表单处理、数据绑定、验证以及和后端 API 的交互。以下是实现绑卡功能的核心原理和步骤: 数据绑定与表单处理 Vue 通过 v-model 指…

vue实现ai

vue实现ai

Vue 实现 AI 功能 Vue.js 可以通过集成第三方 AI 服务或本地 AI 模型来实现 AI 功能。以下是几种常见的方法: 集成第三方 AI API 使用 Vue 调用如 OpenAI、Go…