解读vue3源码-1

提示:看到我 请让滚去学习

vue3渲染流程

文章目录

  • vue3渲染流程
  • vue3的3个核心:
    • 1.响应式模块(Reactivity Module)--创建响应式数据
    • 2.编译模块(Compiler Module)--模版编译器将html转换为一个渲染函数
    • 3.渲染模块(Renderer Module)
  • 渲染流程:
      • 1.首先模版编译器将html转换为一个渲染函数
      • 2.然后初始化响应对象
      • 3.接下来,在渲染模块中,我们进入渲染阶段,这将调用render函数,它引用了响应对象,我们现在观察这个响应对象的变化,render函数返回一个虚拟dom节点
      • 4.接下来,在挂载阶段,调用mount函数,使用虚拟dom节点创建web页面
      • 5.最后,如果我们的响应对象发生任何改变,正在被监视,渲染器再次调用render函数,创建一个新的虚拟dom节点,新的和旧的虚拟dom节点,发送到补丁函数中,然后根据需要更新我们的网页


vue3的3个核心:

1.响应式模块(Reactivity Module)–创建响应式数据

2.编译模块(Compiler Module)–模版编译器将html转换为一个渲染函数

3.渲染模块(Renderer Module)

渲染阶段–调用render函数返回虚拟dom节点
挂载阶段–使用虚拟dom节点并调用dom api来创建网页
补丁阶段–新旧节点对比,并且只跟新网页变化的部分

渲染流程:

在这里插入图片描述

如图一个简单组件有一个模版template和模版内部使用的响应式对象

在这里插入图片描述

1.首先模版编译器将html转换为一个渲染函数

在这里插入图片描述

2.然后初始化响应对象

在这里插入图片描述

3.接下来,在渲染模块中,我们进入渲染阶段,这将调用render函数,它引用了响应对象,我们现在观察这个响应对象的变化,render函数返回一个虚拟dom节点

在这里插入图片描述

4.接下来,在挂载阶段,调用mount函数,使用虚拟dom节点创建web页面

在这里插入图片描述

5.最后,如果我们的响应对象发生任何改变,正在被监视,渲染器再次调用render函数,创建一个新的虚拟dom节点,新的和旧的虚拟dom节点,发送到补丁函数中,然后根据需要更新我们的网页

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/18537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python办公自动化——(二)替换PPT文档中图形数据-柱图

效果: 数据替换前 : 替换数据后: 实现代码 import collections.abc from pptx import Presentation from pptx.util import Cm,Pt import pyodbc import pandas as pd from pptx.chart.data impo…

Python项目开发实战:酒店管理系统(案例教程)

一、引言 在当今信息化社会,酒店管理系统作为酒店运营的重要组成部分,其重要性不言而喻。一个高效、稳定的酒店管理系统不仅能提升酒店的运营效率,还能为顾客提供更为便捷、舒适的服务体验。本文将详细介绍如何使用Python语言开发一个基本的酒店管理系统,并从需求分析、系统…

【量算分析工具-贴地距离】GeoServer改造Springboot番外系列九

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…

postman都有哪些功能?

接口测试 可以方便地发送 HTTP 请求,包括各种方法(GET、POST、PUT、DELETE 等),并查看响应结果。 参数设置 能够灵活设置请求的参数,如查询参数、请求头、请求体等。 环境管理 支持创建不同的环境,方便…

Web前端三大主流框架技术分享

在当今快速发展的互联网时代,Web前端技术作为连接用户与服务的桥梁,其重要性不言而喻。随着技术的不断进步,为了提升开发效率、优化用户体验,一系列强大的前端框架应运而生。其中,Angular、React和Vue.js作为当前最为主…

广东海上丝绸之路文化促进会正式批复荐世界酒中国菜的指导单位

广东海上丝绸之路文化促进会正式批复成为“世界酒中国菜”系列活动指导单位 近日,广东海上丝绸之路文化促进会近日正式批复荐酒师国际认证(广州)有限公司,成为备受瞩目的“世界酒中国菜”系列活动的指导单位。此举旨在通过双方的…

IDEA中各种Maven相关问题(文件飘红、下载依赖和启动报错)

错误情况 包名、类名显示红色、红色波浪线,大量依赖提示不存在(程序包xxx不存在) 工程无法启动 一、前提条件 1、使用英文原版IDEA 汉化版的可能有各种奇怪的问题。建议用IDEA英文版,卸载重装。 2、下载maven,配置环…

2024HW|常见红队使用工具

目录 什么是HW? 什么是网络安全红蓝对抗? 红队 常见工具 信息收集工具 Nmap 简介 漏洞扫描工具 Nessus简介 AWVS 简介 抓包工具 Wireshark简介 TangGo 简介 web 应用安全工具 Burpsuite 简介 SQLMap webshell 管理工具 蚁剑 冰蝎 后…

uniapp input点击旁边按钮,如何不失去焦点

有遇到在评论的时候&#xff0c;唤起键盘。旁边的其他按钮&#xff08;匿名、发送等&#xff09;&#xff0c;input会失去焦点。软键盘会隐藏 处理方法: 1、重新获取键盘焦点 &#xff08;通过重置focus状态来处理&#xff09; #页面 用focus变量来动态设置 <input v-mod…

《PNAS》和《Nature Communications》仿章鱼和蜗牛的粘液真空吸附,赋予了机器人吸盘新的“超能力”

想象一下&#xff0c;如果机器人能够像章鱼一样牢牢吸附在粗糙崎岖的岩石上&#xff0c;或者像蜗牛那样在墙面上悠然负重爬行&#xff0c;那会是多么神奇的一幕&#xff01;近日&#xff0c;布里斯托大学机器人实验室的Jonathan Rossiter教授课题组就为我们带来了这样的“超能力…

嵌入式功耗

adb ADB&#xff08;Android Debug Bridge&#xff0c;安卓调试桥&#xff09;是一个多功能的命令行工具&#xff0c;允许用户与运行 Android 的设备进行通信。它是 Android SDK 的一部分&#xff0c;广泛用于开发和调试 Android 应用程序。以下是 ADB 的一些主要功能和使用场景…

Java中的堆(Heap)和栈(Stack):深入解析与对比

在Java的内存管理中&#xff0c;堆&#xff08;Heap&#xff09;和栈&#xff08;Stack&#xff09;是两个至关重要的概念。它们各自扮演着不同的角色&#xff0c;对于理解和编写高效的Java程序至关重要。以下&#xff0c;我们将从技术难点、面试官关注点、回答吸引力和代码举例…

gulp入门1-安装

Gulp 是一个流行的自动化构建工具&#xff0c;主要用于前端开发中的任务自动化&#xff0c;如文件压缩、代码合并、代码校验等。以下是一个 Gulp 的入门教程&#xff0c;帮助你快速上手&#xff1a; 1. 安装 Node.js 和 npm 首先&#xff0c;你需要在你的计算机上安装 Node.j…

教你考研“潜规则”!初试+复试经验分享!

这个系列会邀请上岸学长学姐进行经验分享~ 今天分享经验的同学初试380&#xff0c;上岸中国计量大学。 政治 政治不用开始过早&#xff0c;一般推荐在7-8月开始就可以了&#xff0c;我是七月底开始的&#xff0c;考了72分&#xff0c;选择33分&#xff0c;大题39分。刚开始第…

软考 系统架构设计师系列知识点之杂项集萃(22)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;21&#xff09; 第32题 人口信息采集处理和利用业务属于&#xff08; &#xff09;&#xff0c;营业执照发放属于&#xff08; &#xff09;&#xff0c;户籍管理属于&#xff08; &#xff09;&…

TypeScript 学习笔记(十六):TypeScript 与第三方库的结合使用

TypeScript 学习笔记(十六):TypeScript 与第三方库的结合使用 1. 引言 在前几篇学习笔记中,我们探讨了 TypeScript 的基础知识、前后端框架的结合应用、测试与调试技巧、性能优化、前端架构设计、工具和生态系统,以及 TypeScript 与数据库的深度结合。本篇将重点介绍 Ty…

Flink状态数据结构升级

Flink状态数据结构升级 1. 升级状态数据结构 为了对给定的状态类型进行升级&#xff0c;你需要采取以下几个步骤&#xff1a; 对 Flink 流作业进行 savepoint 操作。升级程序中的状态类型&#xff08;例如&#xff1a;修改你的 Avro 结构&#xff09;。从 savepoint 恢复作业。…

Fastjson 反序列化漏洞[1.2.24-rce]

漏洞复现环境搭建请参考 http://t.csdnimg.cn/vSaaw kali切换jdk版本请参考 Kali安装JAVA8和切换JDK版本的详细过程_kali安装jdk8-CSDN博客 漏洞原理 Fastjson提供的com.sun.rowset.JdbcRowSetImpl类下的dataSourceName方法支持传入一个RMI/LDAP源&#xff0c;支持远程调用。…

绘唐2AI工具在哪里下载

绘唐2AI工具在哪里下载 激活授权方式&#xff1a;https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 绘唐2AI工具是一款由中国国家语言资源监测与研究中心开发的人工智能绘画工具。该工具利用深度学习算法和人工智能技术&#xff0c;能够自动将输入的文字描述转…

【MySQL数据库】:MySQL内置函数

目录 日期函数 current_date 函数 current_time 函数 current_timestamp 函数 now 函数 date 函数 date_add 函数 date_sub 函数 datediff 函数 字符串函数 charset 函数 concat 函数 instr 函数 ucase 函数 lcase 函数 left 函数 length 函数 replace…