• vue的生命周期


    vue的生命周期

    1、概念理解

    vue实例在被创建之后都会经过一系列初始化步骤,如需要数据观测、模板编译、挂载实例到dom上,以及数据数据变化时更新dom,在这个过程中会运行生命周期钩子函数,以便用户在特定阶段进行响应的操作

    2、生命周期各个阶段

    生命周期分8个阶段:创建前后(beforecreate created)、载入前后(beforemount mounted)、更新前后(beforeupdate updated)、销毁前后(beforedestory destoryed),以及一些特殊场景的生命周期

    vue2vue3描述用途
    beforeCreatebeforeCreate组件实例创建之初用于插件开发中执行初始化任务
    createdcreated组件实例完成创建组件初始化完毕,可以访问各种数据获取接口数据
    beforeMountbeforeMount组件挂载之前
    mountedmounted组件挂载之后访问dom和子组件
    beforeUpdatebeforeUpdate数据变化更新之前view还未更新,获取更新前的各种状态
    updatedupdated数变化更新之后view更新后所有数据都是最新
    beforeDestorybeforeUnmounted组件实例销毁之前用于一些定时器或订阅的取消
    destoryedunmounted组件实例销毁之后销毁实例,清理它与其他实例的连接,解绑他的全部指令及事件监听器
    activatedactivatedkeep-alive缓存的组件被激活时
    deactivateddeactivatedkeep-alive缓存组件停用时调用
    errorCapturederrorCaptured捕获一个来自子孙组件的错误时被调用
    xrenderTracked调试钩子,响应式组件被收集时调用
    xrenderTriggered调试钩子,响应式依赖被触发时调用
    xserverPrefetchssronly,组件实例在服务器上被渲染前调用

    3、整体流程

    1、最早触发setup,然后beforeCreate -> init Options API -> created
    2、接着判断是否有已经预编译的模板,如果有继续往下执行beforeMount,如果没有则在运行时实时编译,得到render函数,再进入beforeMount;
    3、初始化render函数,创建并插入DOM节点,再执行mounted
    4、监听是否有数据变化,有则re-render并更新
    5、再进行卸载beforeUnmounted 和Unmounted

    4、父子组件之间的生命周期

    1、创建时依次执行
    父beforeCreate -> 父created -> 父beforeMounted -> 子beforeCreate -> 子created -> 子beforeMounted -> 子mounted -> 子activated(如有keep-alive)-> 父mounted -> 父activated(如有keep-alive)

    2、销毁时
    父beforeDestory -> 子beforeDestory -> 子destoryed -> 父destoryed

    3、更新时
    父 beforeUpdate --> 子 beforeUpdate --> 子 updated --> 父 updated

    4、vue3变化

    销毁实例的两个钩子不一样,新增了三个钩子

    vue3生命周期图

    图来源:vue官网
    在这里插入图片描述

  • 相关阅读:
    【2013】408联考数据结构真题整理
    【回归预测-NN预测】基于文化算法优化神经网络实现数据回归预测附matlab代码
    Leetcode 01-算法入门与数组-①数据结构与算法简介
    面试经典sql(大数据):连续登陆问题
    力扣第321场周赛+acwing第79场周赛补题
    显示图像2
    C#复杂XML反序列化为实体对象两种方式
    两日总结十
    聊聊Java的垃圾回收机制
    wenet--学习笔记(1)
  • 原文地址:https://blog.csdn.net/weixin_42178670/article/details/127876491