[vue3] patchFlags与位运算
Vue3在编译template的过程中会分析模板中的动态部分和静态部分,并标记相应的flag,用于在运行时优化虚拟DOM的更新。[*]Parse:将模板字符串解析成AST;
[*]Transform:对AST进行转换和优化,包括识别动态节点和静态节点;
[*]CodeGeneration:将转换后的AST生成渲染函数,这个阶段会生成patchFlags。
在diff过程中,遇到包含dynamicChildren的块时,diff算法会进入优化模式,跳过对静态节点的处理从而优化了diff的执行效率。
flag的种类
源码位置:core/packages/shared/src/patchFlags.ts at main · vuejs/core (github.com)
export enum PatchFlags {TEXT = 1,CLASS = 1 感谢发布原创作品,程序园因你更精彩 分享、互助 让互联网精神温暖你我 鼓励转贴优秀软件安全工具和文档! 谢谢分享,辛苦了 鼓励转贴优秀软件安全工具和文档! 这个好,看起来很实用 东西不错很实用谢谢分享 收藏一下 不知道什么时候能用到 东西不错很实用谢谢分享 谢谢分享,试用一下 感谢发布原创作品,程序园因你更精彩 懂技术并乐意极积无私分享的人越来越少。珍惜 这个好,看起来很实用 感谢发布原创作品,程序园因你更精彩 感谢分享,下载保存了,貌似很强大 感谢分享,学习下。 这个有用。 用心讨论,共获提升! 感谢,下载保存了
页:
[1]
2