浅谈vue3 和 vue2的区别
  • vue3中不再导出一个Vue的构造函数,而是具名导出很多数据
  • 不给用户提供Vue构造函数来创建vue实例,使用一个具名导出的createApp,然后传入一个根组件来创建,然后返回一个类似于vue实例的对象,调用mount方法来实现挂载
  • 组件中兼容vue2的写法,只不过函数中的this指向不再是vue的组件实例,而是一个proxy代理对象。
  • vue3中同时增加了composition api的编程思想。
  • vue3中的组件可以不再单根
  • vite构建工具(同时也是一个脚手架)伴随着vue3的出现,与webpack相比,组件越多,vite的打包效率越快
    • 使用vite,引用文件时,除了.js文件不需要加后缀名,其他文件都需要添加上后缀名,否则vite无法识别
  • vue3 在编译时效率上的提升
    • 静态提升:vue3会识别组件中的一些没有绑定动态内容的静态节点,然后将这些节点编译过后,使用变量保存起来,之后再去重新生成虚拟dom时,不再创建,而是直接拿到之前保存的已经生成好的虚拟dom来使用;属性是静态时,也会将属性用变量保存起来,之后重新生成虚拟dom时会重用该变量
    • 预字符串化:当编译器遇到大量连续的静态内容,会直接将其编译为一个普通字符串节点
    const _hoisted_2 = _createStaticVNode("<div class=\"logo\"><h1>logo</h1></div><ul 
    class=\"nav\"><li><a href=\"\">menu</a></li><li><a href=\"\">menu</a></li><li><a 
    href=\"\">menu</a></li><li><a href=\"\">menu</a></li><li><a href=\"\">menu</a></li> 
    </ul>")
    
    • 缓存事件处理函数:vue3中的render函数中传入了缓存对象_catch,这里面缓存了事件处理函数,这样在每次重新渲染时就不会重新生成一个一模一样的函数,减少内存开销
    • block tree:在vue3中,对比虚拟dom之前,会根节点中记录有哪些节点时动态节点,在对比时会直接对比记录的动态的节点,不会再去对比组件中的静态节点(如果虚拟dom树不稳定,则会进行其他处理)
    • patchFlag:在vue2中比对节点时,不知道那些发生了变化,只会一个个的对比,而在vue3中,记录了节点中哪些是动态的,真正需要比对的,所以在对比时,直接对比真正有可能发生变化的部分。
      未完待续...
最后编辑于:2024-11-11 21:12:08


喜欢的朋友记得点赞、收藏、关注哦!!!

相关新闻

go-rod vs Selenium:自动化测试工具的比较与选择

go-rod vs Selenium:自动化测试工具的比较与选择

自动化测试是软件开发过程中的关键环节&#xff0c;它能够帮助我们发现缺陷、验证功能并提高软件质量。随着Web技术的快速发展&#xff0c;市场上出现了多种自动化测试工具&#xff0c;其中Selenium和go-rod是两个备受关注的选择。本文将从多个维度对这两个工具进行比较&#x…

2026/7/19 19:52:42 阅读更多 →
在 Sui 区块链上创建、部署与测试自定义 move _coin合约的完整教程

在 Sui 区块链上创建、部署与测试自定义 move _coin合约的完整教程

系列文章目录&#x1f60a; Task1&#xff1a;hello_move&#x1f340; Task2&#xff1a;move_coin&#x1f340; Task3&#xff1a;move_nft&#x1f340; 目录 系列文章目录&#x1f60a;引言一、更新本地代码1、查看当前项目的远程仓库信息。2、将远程仓库的最新代码同步到…

2026/7/19 19:50:05 阅读更多 →
《Python编程实训快速上手》第九天--调试技巧

《Python编程实训快速上手》第九天--调试技巧

一、抛异常 异常类型分为两类&#xff0c;第一类是Python自带的异常类型&#xff08;见《Python编程快速上手》第一天---前三章打基础&#xff09;&#xff0c;第二类是自定义异常。 面对自定义异常类型&#xff0c;使用raise抛异常&#xff0c;类型值默认为Exception&#x…

2026/7/19 3:53:37 阅读更多 →
ActiveMQ消息监听器机制与SpringBoot整合实战

ActiveMQ消息监听器机制与SpringBoot整合实战

1. ActiveMQ消息监听器核心机制解析 ActiveMQ作为Apache基金会旗下的开源消息中间件&#xff0c;其消息消费模式中的监听器机制是企业级应用中最常用的异步处理方案。与传统的轮询方式相比&#xff0c;监听器模式通过事件驱动机制实现了资源的高效利用&#xff0c;这也是为什么…

2026/7/19 19:53:45 阅读更多 →
FastAPI模型服务化:生产级ML推理的延迟、灰度与可观测性

FastAPI模型服务化:生产级ML推理的延迟、灰度与可观测性

1. 项目概述&#xff1a;当模型走出Jupyter&#xff0c;真正开始呼吸真实世界空气“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句暗号&#xff0c;懂的人一眼就明白&#xff1a;这不是又一篇讲如何用sklearn.fit()跑通鸢尾花…

2026/7/19 19:53:45 阅读更多 →
多维聚合中的数据变形术:解决高维稀疏与语义断层

多维聚合中的数据变形术:解决高维稀疏与语义断层

1. 这不是简单的“GROUP BY”——多维聚合中的数据变形术到底在解决什么问题&#xff1f; 你有没有遇到过这样的场景&#xff1a;销售部门要按 地区、产品线、季度、客户等级 四个维度看毛利&#xff0c;但财务系统只给到一张原始明细表&#xff0c;字段包括订单ID、销售员、…

2026/7/19 19:52:19 阅读更多 →
Copilot图表制作正在淘汰传统Excel工程师:2024Q2头部科技公司内部培训首曝的6项能力红线

Copilot图表制作正在淘汰传统Excel工程师:2024Q2头部科技公司内部培训首曝的6项能力红线

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Copilot图表制作正在淘汰传统Excel工程师&#xff1a;2024Q2头部科技公司内部培训首曝的6项能力红线 在2024年第二季度&#xff0c;微软、Meta与字节跳动等头部科技公司的内部AI赋能培训中&#xff0c;Copilot…

2026/7/19 19:52:45 阅读更多 →
Gini指数:决策树中的不纯度量化与公平性诊断工具

Gini指数:决策树中的不纯度量化与公平性诊断工具

1. 这不是数学课&#xff0c;是机器学习里的“公平感”诊断工具你有没有遇到过这样的情况&#xff1a;训练完一个决策树模型&#xff0c;准确率看起来挺高&#xff0c;但一到实际业务里——比如给客户做信用评分&#xff0c;或者给病人做风险预警——模型总在某些特定人群上频频…

2026/7/19 19:52:45 阅读更多 →
AI生成YouTube视频效果翻车?揭秘Top 3模型真实渲染精度对比:Whisper+Pika+Sora实测帧率与版权风险预警

AI生成YouTube视频效果翻车?揭秘Top 3模型真实渲染精度对比:Whisper+Pika+Sora实测帧率与版权风险预警

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI生成YouTube视频效果翻车&#xff1f;揭秘Top 3模型真实渲染精度对比&#xff1a;WhisperPikaSora实测帧率与版权风险预警 近期大量创作者尝试用AI流水线&#xff08;语音转文字→脚本生成→视频合成…

2026/7/19 19:52:45 阅读更多 →
鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战&#xff1a;Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析 前言 Emoji Idiom Guess 是一个基于鸿蒙 ArkTS 编写的单页互动应用&#xff0c;核心围绕 表情线索、答案输入、首字母提示和收藏关卡 展开。项目没有依赖复杂服务端&#xff0c;也没有把逻辑…

2026/7/19 0:00:03 阅读更多 →
Unity与Python本地通信:基于Flask的跨语言数据交换实战

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述&#xff1a;为什么我们需要一个本地通信服务器&#xff1f;在游戏开发、数字孪生、仿真训练等众多领域&#xff0c;Unity作为强大的实时3D内容创作平台&#xff0c;其核心逻辑通常由C#驱动。然而&#xff0c;当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/19 0:00:04 阅读更多 →
科研课题设计全流程:从选题到成果落地的实战指南

科研课题设计全流程:从选题到成果落地的实战指南

1. 课题设计全流程解析&#xff1a;从选题到成果落地的实战指南课题设计是科研工作者、高校师生以及企业研发人员日常工作中的核心环节。一个优秀的课题设计不仅决定了研究的方向和质量&#xff0c;更直接影响最终成果的学术价值和应用前景。作为在科研一线摸爬滚打多年的从业者…

2026/7/19 0:00:04 阅读更多 →
鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战:Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析

鸿蒙 ArkTS 实战&#xff1a;Emoji Idiom Guess 从表情成语猜谜到交互闭环完整解析 前言 Emoji Idiom Guess 是一个基于鸿蒙 ArkTS 编写的单页互动应用&#xff0c;核心围绕 表情线索、答案输入、首字母提示和收藏关卡 展开。项目没有依赖复杂服务端&#xff0c;也没有把逻辑…

2026/7/19 0:00:03 阅读更多 →
Unity与Python本地通信:基于Flask的跨语言数据交换实战

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述&#xff1a;为什么我们需要一个本地通信服务器&#xff1f;在游戏开发、数字孪生、仿真训练等众多领域&#xff0c;Unity作为强大的实时3D内容创作平台&#xff0c;其核心逻辑通常由C#驱动。然而&#xff0c;当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/19 0:00:04 阅读更多 →
科研课题设计全流程:从选题到成果落地的实战指南

科研课题设计全流程:从选题到成果落地的实战指南

1. 课题设计全流程解析&#xff1a;从选题到成果落地的实战指南课题设计是科研工作者、高校师生以及企业研发人员日常工作中的核心环节。一个优秀的课题设计不仅决定了研究的方向和质量&#xff0c;更直接影响最终成果的学术价值和应用前景。作为在科研一线摸爬滚打多年的从业者…

2026/7/19 0:00:04 阅读更多 →
ai agent框架spring ai/alibaba 源码原理分析(六) agent和组件

ai agent框架spring ai/alibaba 源码原理分析(六) agent和组件

简介 saa是java的ai agent框架&#xff0c;本系列将深入剖析 Spring AI Alibaba 的源码实现与核心原理&#xff0c;不仅可以指导agent的开发&#xff0c;更可以改造框架&#xff0c;增加新特性 系列内容&#xff1a; 系列(一) 架构 完成 系列(三) 调用 I 工具 完成 II M…

2026/7/19 0:01:20 阅读更多 →
终极指南:如何用Steam-auto-crack实现Steam游戏自动破解

终极指南:如何用Steam-auto-crack实现Steam游戏自动破解

终极指南&#xff1a;如何用Steam-auto-crack实现Steam游戏自动破解 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack Steam-auto-crack是一款功能强大的Steam游戏自动破解工具&#xff…

2026/7/19 9:10:31 阅读更多 →
移动端游戏功耗测试实战:电流、功率、亮度和场景对比

移动端游戏功耗测试实战:电流、功率、亮度和场景对比

移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…

2026/7/19 19:29:48 阅读更多 →