首页 > 其他分享 >一、虚拟DOM本质,模板本质,组件树和DOM树,数据拦截的本质

一、虚拟DOM本质,模板本质,组件树和DOM树,数据拦截的本质

时间:2024-11-12 21:32:26浏览次数:1  
标签:DOM 本质 JS 组件 拦截 模板

一、虚拟DOM本质

1.真实DOM原理:是由JS引擎创建DOM后,识别为API,发送到浏览器内核中,由渲染主线程进行渲染,最终将结果返回给JS引擎。

2.什么是虚拟DOM:就是JS对象,是创建DOM对象是在JS引擎终进行的。

二、模板的本质

1、流程:进行了模板编译器最终生成了模板(解析器-模板AST-转换器-JS AST-生成器(render)-编译器)

2、在什么时候开始编译:打包的时候,运行代码的时候

三、组件树和DOM树:

1、什么是组件树:相关联的组件称为组件树

2、什么是DOM树:一个个组件

3、为什么 Vue 中既有响应式,又有虚拟 DOM 以及 diff 算法:

  在vue1,2中涉及到了watcher,模板中每次引用一个,就会生成一个watcher,

      为了解决这个问题,后面vue变更了逻辑,在vue2,vue3中给每一个组件生成一个watcher,

   不过会造成一个问题:不知道这个组件里面具体那个位置发生了变更,为了解决这个问题,就用虚拟dom的diff算法解决这个问题。

四、数据拦截的本质:

1、作用:在突然需要给某个对象方法配置属性,使用数据拦截方法进行操作,好处是有很多提供的api方法(比如:枚举方法,set,get)

2、 在vue1,vue2中提供的方法是:object.defineProperty,而在vue3提供的方法是proxy(客户使用代理的方法去修改) 

3、相同点:1、都可以进行对对象拦截;2.可以对两者读写拦截;3.可以进行深度拦截

4、不同点:1.object.defineProperty适用于特定的数据结构进行读写操作,而proxy针对的对象(读写,赋值,删除,原型,函数调用都支持)

 

标签:DOM,本质,JS,组件,拦截,模板
From: https://www.cnblogs.com/wsx8/p/18542686

相关文章

  • word模板填充 java
    From: https://blog.51cto.com/u_16213356/12447686在现代开发中,Word文档的自动生成和模板填充是一项非常常见的需求。尤其是在生成报表、合同、信函等场景时,通过代码自动化填充模板可以极大提高工作效率。本文将详细介绍如何使用Java实现Word模板填充。我们将通过以下步骤......
  • 使用Java填充Word模板的方法详解
    From: https://www.jb51.net/program/324679hhw.htmJava填充Word模板是一种将动态数据插入到Word文档模板中生成最终文档的过程,通常用于批量创建包含个人信息、报告结果或其他动态内容的文档,本文给大家介绍了使用Java填充Word模板的方法,需要的朋友可以参考下 +目录概......
  • 新手如何学习CSP-S组知识STL模板和线性结构?一篇博文让你明白
    一、C++STL模板学习STL是C++标准库的一部分,提供了一套通用的、可重用的模板类和函数,用于处理常见的数据结构和算法。STL的设计理念是“泛型编程”,即编写与类型无关的代码,通过模板参数在编译时指定具体类型。STL主要包含容器、算法和迭代器三个组件。1.容器(Containers)容器......
  • C++基础 抽象类 类模板 STL库 QT环境
    一、抽象类1、纯虚函数        在多态中,通常父类中虚函数的实现是毫无意义的,主要都是调用子类重写的内容,因此可以将虚函数改为纯虚函数。        语法:virtual返回值类型函数名(参数列表)=0;2.抽象类1)概念        有纯虚函数所在的类,称......
  • Freemarker模板 jar!/BOOT-INF/classes!/**.html
    需求:发送邮件,邮件内容通过Freemaker模板生成,如下代码:Configurationconfiguration=newConfiguration(Configuration.getVersion());configuration.setDefaultEncoding("utf-8");/**加载模板目录**///这个方法在IDEA跑是OK的Filefile=ResourceUtils.getFile("clas......
  • 题解:洛谷 P5180 【模板】支配树
    在图论模拟赛被T4的有向图必经点硬控了\(10^9+7s\),写篇题解纪念一下。其实,求有向图的必经点,通法就是支配树。一些定义:支配点:在确定起点\(S\)的情况下,对于一个点\(k\),若存在\(x\),使得删除\(x\)以及与\(x\)连接的边后,\(x\)与\(k\),不再强连通,那么就称\(k\)为\(x......
  • 第18篇 :深入剖析systemverilog中 randomize 失败之烧脑案例(三)
    在工作实践中,验证环境往往十分复杂,约束条件根据实际测试场景,也是层出不穷,到处都是。可能会遇到各种各样,奇奇怪怪的问题。 针对systemverilog中的randomize()随机约束问题,前面总结了一些规则,这些规则,语法书并不会讲的很透彻,全面覆盖到。只有我们在实际工作中,反复捶打,不断尝试......
  • 【C++】模板(一):函数模板
    大家好,我是苏貝,本篇博客带大家了解C++的函数模板,如果你觉得我写的还不错的话,可以给我一个赞......
  • 微信公众号发送模板消息实现
    微信公众号模板消息文章目录微信公众号模板消息1、准备工作2、代码实现2.1、配置信息2.2、代码实现2.2.1、发送业务代码实现2.2.2、获取公众号AccessToken1、准备工作1.1、申请公众号1.2、配置模板消息2、代码实现2.1、配置信息公众号小程序配置信息#微信......
  • 二分答案模板
    本篇主要介绍二分答案的几个模板1.常用二分模板整数二分模板1将区间划分为[l,mid]和[mid+1,r]则对应的边界更新操作为r=mid,和l=mid+1;中点mid不要+1(相当于向下取整);//整数二分模板1intbsearch_1(intl,intr){while(l<r){......