当前位置: 首页 > news >正文

Vue生命周期详解

以下是 Vue 生命周期钩子函数分别做了什么事情的详细说明

详细说明

  1. beforeCreate(创建前):在实例初始化之前调用。此时,实例的数据观测 (data observer)、属性和方法的运算,以及事件配置等内部设置都已完成,但是尚未挂载到 DOM 上。在这个钩子中,我们可以进行一些数据获取或者变量声明等准备工作。

  2. created(创建后):在实例创建完成后立即被调用。在这一步,实例已经完成了以下的配置:数据观测 (data observer),属性和方法的运算,watch/event listener 都已经初始化,但还没有挂载到 DOM 上。在这个钩子中,我们可以进行一些组件内数据的初始化操作。

  3. beforeMount(载入前):在组件挂载之前调用。在这一步,Vue 实例已经编译模板,但是还没有挂载到 DOM 上。在这个钩子中,我们可以进行一些组件内数据的计算或者处理等准备工作。

  4. mounted(载入后):在组件挂载之后调用。在这一步,Vue 实例已经将模板编译成的虚拟 DOM 渲染到实际的 DOM 上。在这个钩子中,我们可以进行一些页面元素的初始化或者绑定等操作。

  5. beforeUpdate(更新前):在数据更新之前调用。在这一步,Vue 实例的数据已经更新,但是虚拟 DOM 还没有重新渲染。在这个钩子中,我们可以进行一些数据校验或者条件判断等操作。

  6. updated(更新后):在数据更新之后调用。在这一步,Vue 实例的数据已经更新,虚拟 DOM 也已经重新渲染。在这个钩子中,我们可以进行一些页面元素的更新或者刷新等操作。

  7. activated(激活):在组件被激活时调用。当一个组件被复用时,例如在一个 <keep-alive> 标签中,这个钩子会被调用。在这个钩子中,我们可以进行一些组件的激活状态设置或者数据恢复等操作。

  8. deactivated(停用):在组件被停用时调用。当一个组件离开 <keep-alive> 标签时,这个钩子会被调用。在这个钩子中,我们可以进行一些组件的停用状态设置或者数据保存等操作。

  9. beforeDestroy(销毁前):在实例销毁之前调用。此时,实例仍然完全可用。在这个钩子中,我们可以进行一些资源释放或者清理工作等操作。

  10. destroyed(销毁后):在实例销毁之后调用。此时,所有的子实例、事件监听器和事件发射器都会被清理掉。在这个钩子中,我们不需要再进行任何操作。

  11. errorCaptured(错误捕获):当捕获到一个来自子孙组件的错误时调用。这个钩子会收到三个参数:错误对象、发生错误的组件实例以及完整的错误堆栈信息。在这个钩子中,我们可以进行一些错误处理或者日志记录等操作。

Vue 生命周期钩子函数示例

  1. beforeCreate(创建前):在实例初始化之前调用。此时,实例的数据观测 (data observer)、属性和方法的运算,以及事件配置等内部设置都已完成,但是尚未挂载到 DOM 上。
beforeCreate() {console.log('beforeCreate');
}
  1. created(创建后):在实例创建完成后立即被调用。在这一步,实例已经完成了以下的配置:数据观测 (data observer),属性和方法的运算,watch/event listener 都已经初始化,但还没有挂载到 DOM 上。
created() {console.log('created');
}
  1. beforeMount(载入前):在组件挂载之前调用。在这一步,Vue 实例已经编译模板,但是还没有挂载到 DOM 上。
beforeMount() {console.log('beforeMount');
}
  1. mounted(载入后):在组件挂载之后调用。在这一步,Vue 实例已经将模板编译成的虚拟 DOM 渲染到实际的 DOM 上。
mounted() {console.log('mounted');
}
  1. beforeUpdate(更新前):在数据更新之前调用。在这一步,Vue 实例的数据已经更新,但是虚拟 DOM 还没有重新渲染。
beforeUpdate() {console.log('beforeUpdate');
}
  1. updated(更新后):在数据更新之后调用。在这一步,Vue 实例的数据已经更新,虚拟 DOM 也已经重新渲染。
updated() {console.log('updated');
}
  1. activated(激活):在组件被激活时调用。当一个组件被复用时,例如在一个 <keep-alive> 标签中,这个钩子会被调用。
activated() {console.log('activated');
}
  1. deactivated(停用):在组件被停用时调用。当一个组件离开 <keep-alive> 标签时,这个钩子会被调用。
deactivated() {console.log('deactivated');
}
  1. beforeDestroy(销毁前):在实例销毁之前调用。此时,实例仍然完全可用。
beforeDestroy() {console.log('beforeDestroy');
}
  1. destroyed(销毁后):在实例销毁之后调用。此时,所有的子实例、事件监听器和事件发射器都会被清理掉。
destroyed() {console.log('destroyed');
}
  1. errorCaptured(错误捕获):当捕获到一个来自子孙组件的错误时调用。这个钩子会收到三个参数:错误对象、发生错误的组件实例以及完整的错误堆栈信息。
errorCaptured(err, instance, info) {console.log('errorCaptured', err, instance, info);
}
http://www.lryc.cn/news/247386.html

相关文章:

  • 政务大数据与资源平台建设解决方案:PPT全文75页,附下载
  • 环境监测传感器守护我们的地球
  • PHP 循环控制 学习资料
  • Unity 关于生命周期函数的一些认识
  • 大数据学习(26)-spark核心总结
  • EC 404 information economics
  • 基于单片机的烟雾检测报警装置(论文+源码)
  • C语言面试之旅:掌握基础,探索深度(面试实战之c语言关键词中篇)
  • 项目监控:项目跟踪和控制的工具和步骤
  • GOAT:多模态、终身学习、平台无关的机器人通用导航系统
  • [webpack] webpack 插件大全
  • UE4/UE5 雾
  • Linux处理文件常见命令
  • sed应用
  • Linux配置SFTP用户的详细过程
  • 前端---JavaScript篇
  • 使用vue-admin-template时,需要注意的问题,包括一定要去除mock.js注释
  • 力扣hot100 最大子数组和 动态规划 分治 无后效性 子问题划分
  • C语言--每日选择题--Day28
  • Linux 安装 Minio 配置 HTTPS
  • xcode opencv
  • Spark---资源、任务调度
  • 单片机开发常见问题集合
  • Matlab 点云曲率计算(之二)
  • C++11的原子变量
  • 北京交通大学 计算机网络体系与协议(研) 考试试卷
  • python之pyqt专栏7-信号与槽3
  • 高噪点灰度图目标粗定位CoraseLocation
  • Android:Google三方库之Firebase集成详细步骤(二)
  • java使用freemarker模板生成html,再生成pdf