首页 > 其他分享 >Vue3.0 编译做了哪些优化

Vue3.0 编译做了哪些优化

时间:2022-08-28 15:44:45浏览次数:62  
标签:slot Vue 哪些 js 编译 Vue3.0 组件 节点

a. 生成 Block tree Vue.js 2.x 的数据更新并触发重新渲染的粒度是组件级的,单个组件内部 需要遍历该组 件的整个 vnode 树。在 2.0 里,渲染效率的快慢与组件大小成正相关:组件越大,渲染 效率越慢。并且,对于一些静态节点,又无数据更新,这些遍历都是性能浪费。 Vue.js 3.0 做到了通过编译阶段对静态模板的分析,编译生成了 Block tree。 Block tree 是一个将模版基于动态节点指令切割的嵌套区块,每个 区块内部的节点结构是固定的, 每个区块只需要追踪自身包含的动态节点。所以,在 3.0 里,渲染效率不再与模板大小 成正相关,而是与模板中动态节点的数量成正相关。
b. slot 编译优化 Vue.js 2.x 中,如果有一个组件传入了 slot,那么每次父组件更新的时候,会强制使子组 件 update,造成性能的浪费。 Vue.js 3.0 优化了 slot 的生成,使得非动态 slot 中属性的更新只会触发子组件的更新。 动态 slot 指的是在 slot 上面使用 v-if,v-for,动态 slot 名字等会导致 slot 产生运行时动 态变化但是又无法被子组件 track 的操作。
c. diff 算法优化

标签:slot,Vue,哪些,js,编译,Vue3.0,组件,节点
From: https://www.cnblogs.com/jycom/p/16632870.html

相关文章

  • [错误处理] CMake中GCC编译器链接.lib文件出现无法找到文件错误的问题
    奇怪的BUG库文件名为WebView2Loader.dll.lib,在CMake+Mingw环境下出现了无论改为libWebView2Loader,WebView2Loader,WebView2Loader.dll.a都无法找到文件的问题link_......
  • 信息安全机制有哪些
    前言关于近期学习,为了更好强化知识巩固。全面概括知识重点。做好笔记,以便后续查找。安全信息概括特性完整性保密性可用性不可否认性可控性信息安全......
  • NetCDF库编译安装
    1. 准备系统环境,全部是deepin系统自带,并无单独安装deepin20.6gcc8.3.0g++8.3.0cmake3.22.1 netcdf安装版本:此次使用最新4.9.0,系统为deepin20.6,大于4.3.0源......
  • 【MySQL】MySQL8确认哪些参数在使用以及来源
    在MySQL8中,参数可能来自不同的地方,确认有效的参数来自于哪里:SELECT variable_name, variable_sourceASsource, variable_path, set_time, set_userASUSER, set......
  • Python自学教程8-数据类型有哪些注意事项
    不知不觉,python自学教程已经更新到第八篇了,再有几篇,基本的语法就介绍完了。今天来总结一下数据类型有哪些需要注意的地方。元组注意事项元组是另一种经常使用到的数据类......
  • 项目工期延后有哪些补救措施?
    大部分项目经理都面临过项目延期的情况,特别是在软件开发领域,项目延期情况尤为严重。项目管理者的真正挑战,不是发现问题和记录问题,而是预见问题、控制问题和解决问题。因此......
  • windows10下ZLMediaKit编译webrtc部分(亲测可用)
    windows下ZLMediaKit编译webrtc部分https://blog.csdn.net/whjy_lsq/article/details/122084828?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-......
  • 使用jad反编译jar/war包项目
    使用jd-gui,只能反编译具体一个.class文件,不能完成整个项目的反编译;而jad.exe能够满足反编译整个项目的需求。首先,下载jad.exe下载地址:https://varaneckas.com/jad/解压......
  • 乘风破浪,遇见最佳跨平台跨终端框架.Net Core/.Net生态 - 超前预编译AOT和即时编译JIT
    什么是即时编译JIT在计算机领域,即时编译(JustInTime,JIT)(也是动态编译或运行时编译)是一种执行计算机代码的方式,它涉及在程序执行期间(运行时)而不是在执行之前进行编......
  • 编译原理中的词法和语法分析怎么理解?
    看了一些编译原理的博文,对词法和语法的理解:  词法:是对一堆代码的一种提取,语法:是理解提取后的代码分别代表了什么意思,并赋予对应的意义,从而构建AST抽象语法树。......