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

相关推荐
独隅3 分钟前
WebStorm Windows 版 React / Next.js 实战替换指南
javascript·windows·webstorm
不可能片场10 分钟前
AI视频成片 帧间差分把拼接缝照出来
前端·electron
写的都是BUG10 分钟前
APK 里的钥匙,一直就放在门口:聊聊加固真正该做什么
前端·算法
dpharness13 分钟前
我踩过的四个记忆坑,从预算到换机
前端·后端
ruanno_top16 分钟前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
apollo_qwe17 分钟前
接口超时了,前端为什么不能直接重试?
javascript·http
用户77833661321121 分钟前
SerpBase驱动:用原生JS实现搜索意图分流浮层
前端
阿明的小蝴蝶21 分钟前
设备出厂横竖屏修改 & 默认手势导航修改(按键导航)
前端
SameX24 分钟前
ArkTS 做应用内"快捷胶囊" —— 续航日记踩过的两个鸿蒙声明式 UI workaround
前端
用户114818678948425 分钟前
水印的实现方式逻辑
前端·python