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

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

创建阶段

  1. beforeCreate

    • 此阶段在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
    • 主要用于在实例初始化之后,但是在实例准备好之前执行一些逻辑。

    new Vue({
    beforeCreate: function () {
    console.log('Before create hook');
    }
    });

  2. created

    • 在实例创建完成后被立即调用。
    • 在这一步,实例已经完成了 data 的观测和属性方法的运算,但是挂载阶段还没开始。

    new Vue({
    created: function () {
    console.log('Created hook');
    }
    });

挂载阶段

  1. beforeMount

    • 在挂载开始之前被调用。
    • 相关的render函数首次被调用。

    new Vue({
    beforeMount: function () {
    console.log('Before mount hook');
    }
    });

  2. 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');
    }
    });

  2. updated

    • 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。

    new Vue({
    updated: function () {
    console.log('Updated hook');
    }
    });

销毁阶段

  1. beforeDestroy

    • 在实例销毁之前调用。实例仍然完全可用。

    new Vue({
    beforeDestroy: function () {
    console.log('Before destroy hook');
    }
    });

  2. destroyed

    • 在实例销毁后调用。此时,实例的所有指令都已解绑,所有的事件监听器已移除,所有的子实例也已被销毁。

    new Vue({
    destroyed: function () {
    console.log('Destroyed hook');
    }
    });

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

相关推荐
清秋9 分钟前
全网最全 ECMAScript 攻略( 更新至 ES2026)
前端·javascript·编程语言
Cao_Ron26 分钟前
用 SVG image symbol 画 ECharts graph 圆形节点
前端
hxy060131 分钟前
React-Call让你的React组件像异步函数一样调用
前端·react.js
Hilaku32 分钟前
为什么 AI 写前端时,总是优先选择 React,而不是 Vue?
前端·javascript·程序员
京东云开发者34 分钟前
GPT-5.6、ChatGPT Work 与 Codex 更新食用指南
前端
Cao_Ron1 小时前
用 ECharts graph 画出卡片式矩形节点
前端
skiyee1 小时前
换个底座的 Wot Starter 居然让 AI 更懂项目!
前端·ai编程
anyup1 小时前
这一套绝了!AI 大模型写故事,星云 SDK 驱动 3D 数字人实时演绎
前端·人工智能·aigc
耀耀切克闹灬1 小时前
短链跳转
前端
孟陬1 小时前
高质量全方位的 AI 工具 sse-stuntman — Mock SSE 接口
前端·node.js·openai