aurora blog
  • JS

    • 基本汇总
    • Date时间
    • Array方法
    • String 方法
    • Object方法
    • RegExp正则
    • Es6 新特性等
    • Event-Loop
    • Http and Https
    • for in和for of区别
    • Web Worker
    • Promise && async
    • 堆内存 & 栈内存
    • JS设计模式探索
    • npm & yarn
    • Fetch和Axios的区别
    • 学习及面试问题整理
    • URL 输入到页面加载过程
    • 跨域&nginx本地项目代理
  • FE框架

    • react

      • 基本用法
      • react生命周期
      • hooks 16.8版本后
      • Route原理
      • Redux源码解析
      • React16 Fiber
      • React-VirtualDOM
      • React事件委托机制
    • vue

      • vue 基本用法
      • vue 生命周期
      • VirtualDOM
      • vue 事件委托
      • vue 架构
      • vue 状态管理
      • 问题等
    • React-Native

      • React-Native 基本用法
    • 微前端

      • 遇到的问题
    • 鸿蒙 harmony

      • harmony 基础
  • 构建工具

    • webpack

      • Webpack配置详解
      • Webpack的使用
      • Babel-polyfill
      • webpack面试题
    • vite

      • vite基本配置
  • Typescript

    • Typescript详解
  • Servers

    • Nodejs
    • Nginx
  • Git命令

    • git常用规范
  • 数据库

    • mongodb
    • mongodb
  • Other

    • Jenkins自动化部署

Vue2 & Vue3 生命周期钩子函数及示例

  • Vue2 生命周期钩子及示例
  • Vue3 生命周期钩子及示例(组合式 API)

Vue2 生命周期钩子及示例

export default {
  // 创建前
  beforeCreate() {
    console.log('beforeCreate: 数据未初始化');
  },
  // 创建后
  created() {
    console.log('created: 数据已初始化');
  },
  // 挂载前
  beforeMount() {
    console.log('beforeMount: 模板编译完成,未挂载');
  },
  // 挂载后
  mounted() {
    console.log('mounted: 挂载完成,可访问DOM');
  },
  // 更新前
  beforeUpdate() {
    console.log('beforeUpdate: 数据更新前');
  },
  // 更新后
  updated() {
    console.log('updated: 数据更新后');
  },
  // 销毁前
  beforeDestroy() {
    console.log('beforeDestroy: 实例销毁前');
  },
  // 销毁后
  destroyed() {
    console.log('destroyed: 实例销毁后');
  },
  // keep-alive 激活
  activated() {
    console.log('activated: keep-alive组件激活');
  },
  // keep-alive 失活
  deactivated() {
    console.log('deactivated: keep-alive组件失活');
  },
  // 错误捕获
  errorCaptured(err, vm, info) {
    console.log('errorCaptured: 捕获到错误', err, info);
  }
}

Vue3 生命周期钩子及示例(组合式 API)

import { onBeforeMount, onMounted, onBeforeUpdate, onUpdated, onBeforeUnmount, onUnmounted, onActivated, onDeactivated, onErrorCaptured } from 'vue';

export default {
  setup() {
    onBeforeMount(() => {
      console.log('onBeforeMount: 组件挂载前');
    });
    onMounted(() => {
      console.log('onMounted: 组件挂载后');
    });
    onBeforeUpdate(() => {
      console.log('onBeforeUpdate: 组件更新前');
    });
    onUpdated(() => {
      console.log('onUpdated: 组件更新后');
    });
    onBeforeUnmount(() => {
      console.log('onBeforeUnmount: 组件卸载前');
    });
    onUnmounted(() => {
      console.log('onUnmounted: 组件卸载后');
    });
    onActivated(() => {
      console.log('onActivated: keep-alive组件激活');
    });
    onDeactivated(() => {
      console.log('onDeactivated: keep-alive组件失活');
    });
    onErrorCaptured((err, instance, info) => {
      console.log('onErrorCaptured: 捕获到错误', err, info);
    });
  }
}
最近更新:: 2025/8/7 15:46
Contributors: liyulai
Prev
vue 基本用法
Next
VirtualDOM