当前位置: 首页 > news >正文

Vue/组件的生命周期

这篇文章借鉴了coderwhy大佬的Vue生命周期

在Vue实例化或者创建组件的过程中 内部涉及到一系列复杂的阶段 每一个阶段的前后时机都可能对应一个钩子函数 以下是我根据coderwhy大佬文章对于每一个阶段的一些看法

1.过程一

在这里插入图片描述
首先实例化Vue或者组件 在实例化之前 会对应一个钩子函数beforeCreate(如果未定义的话 肯定不会调用 以下同理) 在实例化之后 也会对应一个钩子函数created

2.过程二

在这里插入图片描述
实例化之后 会判断一下Vue实例中是否挂载了el属性(挂载意味着拿到某一个物品的控制权 可以控制它做事情) 如果挂载了 在判断一下是否挂载了template属性/组件 反之如果没有挂载el属性(即vue组件) 那就需要通过$mount(el)对Vue实例进行el元素的手动挂载 接着在判断是否存在template属性
如果存在template属性的话 那么就会先将其渲染为render函数(runtime compiler模式 即template->ast->render()->vdom->ui) 如果不存在的话 那么就是将render函数转换为虚拟dom最终生成组件ui的过程(runtime only模式 即render()->vdom->ui 该模式体积小 效率高)

3.过程三

在这里插入图片描述
该过程中 创建el指向的dom元素 并且将Vue实例挂载的template替换他 替换完成之时就是挂载完毕之时 在挂载前后存在两个钩子函数用于监听这两个时机
挂载(mount)完毕以后 如果template中的响应式数据发生了改变 那么需要重新渲染处vdom 和真实dom进行比对 以更新真实dom

4.过程四

在这里插入图片描述
当组件不再被挂载/使用时 这时候 组件就进入到了销毁阶段 而在销毁前后定义两个钩子函数用以监听这两个时机

http://www.lryc.cn/news/454597.html

相关文章:

  • 【Nacos架构 原理】内核设计之Nacos寻址机制
  • 入门案例:mybatis流程,核心,常见错误
  • C++ | Leetcode C++题解之第456题132模式
  • 自然语言处理问答系统
  • Python的几个高级特性
  • 【颜色平衡树 / E】
  • 滑动窗口--(中篇)
  • Java性能调优:实战技巧与最佳实践
  • 排版套料系统设计说明
  • 算法修炼之路之二分查找
  • OpenAI预计明年将推出“代理”系统
  • 每日OJ题_牛客_重排字符串_贪心_C++_Java
  • Python 进阶部分详细整理
  • [ RK3566-Android11 ] 关于移植 RK628F 驱动以及后HDMI-IN图像延迟/无声等问题
  • 【黑马点评】 使用RabbitMQ实现消息队列——2.使用RabbitMQ监听秒杀下单
  • 业务封装与映射 -- OTUk/ODUk/OPUk开销帧结构
  • Vim基本用法
  • python 实现Tarjan 用于在有向图中查找强连通分量的算法
  • Qt开发技巧(十五)字符串去除空格,跨网段搜索不生效,设置图片显示失败问题,表格视图的批量删除,主动判断字串编码,开启向前查询的属性,画家类载入html来绘制
  • 【机器学习】智驭未来:探索机器学习在食品生产中的革新之路
  • Ubuntu 安装CUDA并使用Docker配置Pytorch环境
  • 【论文阅读】Simulating 500 million years of evolution with a language model
  • detectron2/layers源码笔记
  • LLM+知识图谱新工具! iText2KG:使用大型语言模型构建增量知识图谱
  • React基础-快速梳理
  • H.264编解码 - NALU详解
  • vSAN02:容错、存储策略、文件服务、快照与备份、iSCSI
  • 图解C#高级教程(四):协变、逆变
  • 详解CSS中的伪元素
  • paper_template