vue每个阶段的生命周期做了什么

简介: vue每个阶段的生命周期做了什么

Vue 实例的生命周期可以分为创建阶段、挂载阶段、更新阶段和销毁阶段。下面是每个阶段具体干了什么的说明和对应的代码示例:

创建阶段

  1. beforeCreate
  • 此阶段在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
  • 主要用于在实例初始化之后,但是在实例准备好之前执行一些逻辑。
new Vue({
  beforeCreate: function () {
    console.log('Before create hook');
  }
});
  1. created
  • 在实例创建完成后被立即调用。
  • 在这一步,实例已经完成了 data 的观测和属性方法的运算,但是挂载阶段还没开始。
new Vue({
  created: function () {
    console.log('Created hook');
  }
});

挂载阶段

  1. beforeMount
  • 在挂载开始之前被调用。
  • 相关的render函数首次被调用。
new Vue({
  beforeMount: function () {
    console.log('Before mount hook');
  }
});
  1. mounted
  • 在实例被挂载到DOM后调用。
  • 如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.$el 也在文档内。
new Vue({
  mounted: function () {
    console.log('Mounted hook');
  }
});

更新阶段

  1. beforeUpdate
  • 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
  • 可以在该钩子中进一步地更改状态,不会触发附加的重渲染过程。
new Vue({
  beforeUpdate: function () {
    console.log('Before update hook');
  }
});
  1. updated
  • 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。
new Vue({
  updated: function () {
    console.log('Updated hook');
  }
});

销毁阶段

  1. beforeDestroy
  • 在实例销毁之前调用。实例仍然完全可用。
new Vue({
  beforeDestroy: function () {
    console.log('Before destroy hook');
  }
});
  1. destroyed
  • 在实例销毁后调用。此时,实例的所有指令都已解绑,所有的事件监听器已移除,所有的子实例也已被销毁。
new Vue({
  destroyed: function () {
    console.log('Destroyed hook');
  }
});

以上是Vue实例生命周期各个阶段的具体说明和对应的代码示例,希望对你有所帮助。

相关文章
|
3天前
|
缓存 监控 JavaScript
探讨优化Vue应用性能和加载速度的策略
【5月更文挑战第17天】本文探讨了优化Vue应用性能和加载速度的策略:1) 精简代码和组件拆分以减少冗余;2) 使用计算属性和侦听器、懒加载、预加载和预获取优化路由;3) 数据懒加载和防抖节流处理高频事件;4) 图片压缩和选择合适格式,使用CDN加速资源加载;5) 利用浏览器缓存和组件缓存提高效率;6) 使用Vue Devtools和性能分析工具监控及调试。通过这些方法,可提升用户在复杂应用中的体验。
10 0
|
3天前
|
JavaScript 前端开发
vue(1),小白看完都会了
vue(1),小白看完都会了
|
2天前
|
JavaScript 开发工具 git
Vue 入门系列:.env 环境变量
Vue 入门系列:.env 环境变量
8 1
|
3天前
|
JavaScript
vue知识点
vue知识点
10 0
|
3天前
|
JavaScript 前端开发 定位技术
Vue使用地图以及实现轨迹回放 附完整代码
Vue使用地图以及实现轨迹回放 附完整代码
Vue使用地图以及实现轨迹回放 附完整代码
|
3天前
|
JavaScript
Vue中避免滥用this去读取data中数据
Vue中避免滥用this去读取data中数据
|
3天前
|
JavaScript
vue中使用pinia及持久化
vue中使用pinia及持久化
6 0
|
3天前
|
JavaScript 前端开发 UED
Vue class和style绑定:动态美化你的组件
Vue class和style绑定:动态美化你的组件
|
3天前
|
JavaScript 前端开发 API
Vue 监听器:让你的应用实时响应变化
Vue 监听器:让你的应用实时响应变化
|
3天前
|
JavaScript
vue封装svg
vue封装svg
7 0