vuez 与 Vue3 响应式比较

Vue2 的响应式

对象:通过 defineProperty 对对象的已有属性值的读取和修改进行劫持(监视/拦被)。

数组:通过重写数组、更新数组等一系列更新元素的方法来实现元素修改的劫持。

存在的问题如下:

  1. 对象直接新添加属性或删除已有属性,界面不会自动更新。
  2. 数组直接通过下标替换元素或更新 length,界面不会自动更新 arr[O]= xx。

Vue3 的响应式

通过 Proxy(代理):拦截对data 任意属性的任意(13种)操作,包括属性值的读写、属性的添加、属性的删除等。

通过 Reflect(反射):动态地对被代理对象的相应属性进行特定的操作。

Proxy 官方文档:

https://developer.mozilla.org/zh-CN/docs/ Web/JavaScript/ Reference/Global_Objects/Proxy

Reflect 官方文档:

https:// developer. mozilla.org/zh-CN/ docs/ Web/ JavaScript/ Reference/Global_Objects/Reflect

相关推荐
dragoooon34几秒前
[Linux网络基础——Lesson9.「TCP 全连接队列与 tcpdump 抓包」]
前端·git·github
光影少年7 分钟前
用vite还是webpack多,vite为什么快
前端·webpack·node.js
waeng_luo7 分钟前
[鸿蒙2025领航者闯关] 鸿蒙应用中如何管理组件状态?
前端·harmonyos·鸿蒙·鸿蒙2025领航者闯关·鸿蒙6实战·开发者年度总结
克喵的水银蛇8 分钟前
Flutter 通用列表项封装实战:适配多场景的 ListItemWidget
前端·javascript·flutter
Howie Zphile9 分钟前
做移动端的 Next.js 项目,可以选哪些 UI?
开发语言·javascript·ui
WX-bisheyuange10 分钟前
基于Spring Boot的宠物商城网站设计与实现
前端·javascript·vue.js·毕业设计
9号达人10 分钟前
大家天天说的'银弹'到底是个啥?看完这篇你就明白了
前端·后端·程序员
苏打水com16 分钟前
第四篇:Day10-12 JS事件进阶+CSS动画——实现“复杂交互+视觉动效”(对标职场“用户体验优化”需求)
javascript·css·交互
初遇你时动了情16 分钟前
react native实战项目 瀑布流、菜单吸顶、grid菜单、自定义背景图、tabbar底部菜单、轮播图
javascript·react native·react.js
BD_Marathon19 分钟前
【JavaWeb】JavaScript使用var声明变量的特点
javascript