美文网首页
Vue2和Vue3生命周期区别

Vue2和Vue3生命周期区别

作者: SailingBytes | 来源:发表于2024-02-20 18:11 被阅读0次

    在 Vue 中,生命周期定义了组件从创建到销毁的整个过程。在生命周期的不同阶段,Vue会自动调用一系列的钩子函数,用户可以在这些钩子函数中添加自己的代码,实现特定的功能。

    Vue2生命周期

    1. beforeCreate:在实例初始化之后、数据观测和事件配置之前被调用。
    2. created:在实例创建完成后被立即调用。在这一步,实例已完成数据观测、属性和方法的运算,watch/event事件回调已设置,但是挂载阶段尚未开始。
    3. beforeMount:在挂载开始之前被调用,相关的render函数首次被调用。
    4. mounted:在el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子。
    5. beforeUpdate:数据更新时调用,发生在虚拟DOM打补丁之前。
    6. updated:由于数据更改导致的虚拟DOM重新渲染和打补丁,在这之后会调用这个钩子。
    7. beforeDestroy:在实例销毁之前调用。在这一步,实例仍然完全可用。
    8. destroyed:在实例销毁后调用。调用后,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

    Vue3生命周期

    1. setup:这是一个新的生命周期钩子,在组件创建之前执行,用于定义组件的响应式数据和函数。
    2. onBeforeMount:对应Vue2的beforeMount钩子。
    3. onMounted:对应Vue2的mounted钩子。
    4. onBeforeUpdate:对应Vue2的beforeUpdate钩子。
    5. onUpdated:对应Vue2的updated钩子。
    6. onBeforeUnmount:对应Vue2的beforeDestroy钩子。
    7. onUnmounted:对应Vue2的destroyed钩子。
    8. onErrorCaptured:这是一个新的生命周期钩子,用于捕获来自子孙组件的错误。

    生命周期对比(Vue2 vs Vue3)

    Vue2生命周期 Vue3生命周期 说明
    beforeCreate setup 组件创建之前执行,用于定义组件的响应式数据和函数
    created setup 组件创建完成后执行,用于定义组件的响应式数据和函数
    beforeMount onBeforeMount 组件挂载之前执行,相关的render函数首次被调用
    mounted onMounted 组件挂载完成后执行,el被新创建的vm.$el替换,并挂载到实例上去之后调用该钩子
    beforeUpdate onBeforeUpdate 组件数据更新时执行,发生在虚拟DOM打补丁之前
    updated onUpdated 组件数据更新后执行,由于数据更改导致的虚拟DOM重新渲染和打补丁之后调用该钩子
    beforeDestroy onBeforeUnmount 组件销毁之前执行,实例仍然完全可用
    destroyed onUnmounted 组件销毁后执行,Vue实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁
    - onErrorCaptured 组件错误捕获,用于捕获来自子孙组件的错误

    相关文章

      网友评论

          本文标题:Vue2和Vue3生命周期区别

          本文链接:https://www.haomeiwen.com/subject/ecnbadtx.html