vue的生命周期执行顺序 - 智学轩城

vue的生命周期执行顺序

宜孟琪头像

宜孟琪

2026-03-19 16:30:17

vue的生命周期执行顺序啊,这事儿得从2013年说起了。那时候,Vue.js刚出来,我就开始研究这个了。说实话,当时我也没想明白,这个顺序怎么这么复杂。不过,现在来说,Vue的生命周期钩子执行顺序是这样的:
1. beforeCreate: 在实例初始化之后、数据观测和事件/watcher 设置之前被调用。

  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    2. created: 在实例创建完成后被立即调用。在这一步,实例已完成数据观测、属性和方法的运算、watch/event事件回调。
  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    3. beforeMount: 在挂载开始之前被调用:相关的 render 函数首次被调用。
  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    4. mounted: el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    5. beforeUpdate: 数据更新时调用,发生在虚拟 DOM 打补丁之前。
  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    6. updated: 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用这个钩子。
  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    7. beforeDestroy: 实例销毁之前调用。在这一步,实例仍然完全可用。
  • 时间:2013年,Vue刚推出时。
  • 地点:全球范围内,所有使用Vue的开发者。
    8. destroyed: 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
    这个过程,其实就是一个用的人多了,大家总结出来的顺序。每个阶段,Vue都在默默地做着自己的事情,保证我们的应用能
蒉仲洲头像

蒉仲洲

2025-05-24 10:04:54

初始化阶段:

  1. beforeCreate:创建实例时调用,此时data、methods、computed、watch 都还没初始化。
  2. created:在模板解析之前调用,此时data、methods、computed、watch、events 和 filters 都已经初始化。
    模板解析阶段:
  3. beforeMount:在挂载开始之前调用,此时el 属性已经渲染到 DOM 中,但内容还没开始渲染。
    挂载阶段:
  4. mounted:在挂载完成后调用,此时已渲染到 DOM 中,可以访问到 DOM 元素。
    更新阶段:
  5. beforeUpdate:数据更新时调用,此时虚拟 DOM 已更新,但真实的 DOM 还没开始更新。
    DOM 更新阶段:
  6. updated:在由于数据更改导致的虚拟 DOM 重新渲染和打补丁之后调用。
    销毁阶段:
  7. beforeDestroy:在实例销毁之前调用,此时实例仍然完全可用。
  8. destroyed:在实例销毁后调用,此时所有的事件监听器已被移除,所有的子实例也被销毁。
於叔蔼头像

於叔蔼

2025-06-20 13:50:47

Vue组件生命周期执行顺序:

  1. beforeCreate
  2. created
  3. beforeMount
  4. mounted
  5. beforeUpdate
  6. updated
  7. beforeDestroy
  8. destroyed