当前位置: 首页 > news >正文

vue2与vue3的区别

这篇博客我会从原理、日常项目使用、性能优化三个大方面进行阐述。

响应式原理

vue2的响应式原理大家应该都很熟悉了。

在vue2中,响应式原理的核心是通过ES5保护的对象object.defaineProperty中的访问器属性中的getset方法,data中声明的属性被添加到了访问器属性,当读取data中的数据时,会自动调用get方法,当修改data中的数据时,会自动调用set方法,检测到数据发生变化时,会通知观察者watcher自动触发重新render当前组件,生成新的虚拟DOM树,Vue框架会遍历并对比新的虚拟DOM树和旧的DOM树中的每个节点的差别,并记录下来,最后加载时,将所有记录的不同点,局部修改到真实的DOM上。

这里说一下object.defineProperty的用法以及优缺点。

  • 可以检测对象中数据发生的修改
  • 对于复杂的对象,层次很深的话,是不友好的,需要进行深度监听,这样需要递归到底(缺点)
  • 对于一个对象中,新增、删除对象,object.defineProperty()是不能观测实现的,可通过Vue.set()Vue.deletez()来实现

在vue3中,则是使用了Proxy来创建响应式对象,仅getter/setter用于ref.

vue3中使用了proxy,解决了数组无法通过下标修改、无法监听到对象属性的新增和删除的问题。

具体关于proxy和reflect的知识点可以前往ES6官网;具体ref和reactive的区别会在新的一篇文章中讲述。

项目中使用时的区别

  1. vue3使用的是组合式API,没有this,在vue2中则使用的是选项式API;
  2. vue3中的生命周期没有created,卸载组件时使用的onMount(),同时增加setup,可代替created周期
  3. vue3中的v-if的优先级要高于v-for
  4. 新增加了Teleport传送门组件
  5. template模板语法中可包含多个同级的div
  6. 一些全局注册,例如mixin、注册全局组件等use改成了app实例的调用,而不是vue类
  7. v-model应用于组件时,相比于vue2能够监听事件和传值的改变;在vue2中,只能监听onChange事件

性能方面

  1. vue3使用的是函数编程、可以通过按需引入,能更好的tree-shaking
  2. vue3能更好的支持ts
  3. 相比于vue2,vue3增加了静态节点,会对静态节点进行标识,提升了编译效率
http://www.jsqmd.com/news/304397/

相关文章:

  • 如何选择合适的Queue实现类?
  • kali基础介绍(Initial Access、Execution、Presistence)
  • invokedynamic
  • 松鼠备份使用指南
  • 简单理解:无论你写的是十进制、十六进制还是八进制,最终存储到寄存器(以及内存、CPU)中的数据,本质上都是二进制形式。
  • 简单理解:分频系数
  • 风电功率日前场景生成方法探索
  • 基于IEEE 33节点的配电网经济调度 设备包括光伏,风电,燃气轮机,柴油发电机和储能 以综合...
  • 改进A星算法,机器人路径规划导航A星算法和DWA算法融合,可以实现动态避障,有算法matlab...
  • MMC玩转指南:从零搭建20kV直流输电系统
  • 提示工程分布式架构的自动化运维:Ansible vs Terraform,批量管理节点
  • 【水下图像增强融合算法】基于融合的水下图像与视频增强研究附Matlab代码
  • Vue3 系列教程(三)插值表达式与常用文本指令
  • 大模型微调教程(一)大模型微调基础认知+零基础环境搭建
  • Finisar AOC/DAC 在高速网络互连中的应用解析
  • 完整教程:Android 宣布 Runtime 编译速度史诗级提升:在编译时间上优化了 18%
  • 2026制动改装品牌榜 CMYCH卡钳性能对比
  • Amphenol CS(High Speed IO)PCIe 与 QSFP 高速 IO 线缆设计与选型实践
  • 服务器互联中的 Amphenol ICC(FCI)电缆组件选型逻辑
  • ATGBICS 光模块兼容光缆选型与互连兼容性测试指南
  • Maxwell或者motorcad建模仿真 1、电机电磁设计仿真; 2、可提供设计报告或ans...
  • 基于SpringBoot的企业级进销存ERP系统Java源码
  • 探秘综合能源系统:供需双响应与碳交易的完美邂逅
  • 玩转风光储并网系统建模
  • 西门子plc巅峰应用,大型包膜机程序控制,常见的气缸,通讯,机械手,模拟量等,各种FB块,可用...
  • 基于hadoop的商城推荐系统 大数据个性化商城推荐 协同过滤推荐 推荐原理:每天定时更新数据集
  • 锂电池SOC估计基于二阶RC模型的扩展卡尔曼滤波估算SOC 验证工况:HPPC 和
  • 锂电池SOC估计模型SOC估算卡尔曼滤波估算SOC 各大交流论坛搜集的模型合集! 图中的12个...
  • matlab代码:基于CNN和LSTM的个体用户负荷预测方法 摘要:在本文中,我们考虑的问题是...
  • 基于S7-200 PLC与MCGS组态的隧道智能照明控制系统:梯形图程序、接线图与组态设计