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实例生命周期各个阶段的具体说明和对应的代码示例,希望对你有所帮助。

相关推荐
Ashley的成长之路31 分钟前
前端性能优化实战手册·第2篇:资源加载策略全解
前端·性能优化·资源加载·http/3·性能优化实战·资源加载优化
浅水壁虎36 分钟前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥36 分钟前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
Getflare40 分钟前
前端 + UI 设计 + AI:这不是三个工种,是一个新三角能力模型(附自检清单)
前端·人工智能·ui
oil欧哟1 小时前
我做了一个 Vibe Coding 术语学习站:VibeHub
前端·ai·agent·独立开发·vibe coding
审小匠OpenCPAi2 小时前
银行流水核查怎么自动化?单边匹配、双向勾稽与图聚类异常检测的工程对比
java·前端·人工智能·python·审计
Revolution612 小时前
一个公共表格组件,是怎么一步步失控的
前端·前端工程化
mONESY2 小时前
React useState 核心原理与最佳实践:从异步更新到性能优化全解
javascript
腻害兔2 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程