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

相关推荐
qq_12084093718 分钟前
Three.js 工程向:EffectComposer 后处理链路与色彩管理
开发语言·前端·javascript
|晴 天|9 分钟前
评论系统与情感分析
前端·ai·typescript
沉默中爆发的IT男15 分钟前
BGP基础配置实验总结
linux·服务器·前端
朝阳3917 分钟前
前端学习方法(含前端成神之路)
前端·学习方法
今晚务必早点睡21 分钟前
Ubuntu 部署 RuoYi-Vue-FastAPI 完整实战指南(含踩坑总结)
vue.js·ubuntu·fastapi
张元清25 分钟前
head.tsx 就是一个 React 组件:用 loader 数据动态生成 SEO meta
前端·javascript·面试
Hello--_--World27 分钟前
ES16:Set 集合方法增强、Promise.try、迭代器助手、JSON 模块导入 相关知识
开发语言·javascript·json
前端那点事29 分钟前
Vue keep-alive 原理全解析(Vue2+Vue3适配)
vue.js
lemon_yyds30 分钟前
Element UI 实践踩坑- date-picker 组件 定制化type="daterange"
前端·css
Alice-YUE33 分钟前
ai对话平台中的functioncalling+mcp
前端·笔记·学习·语言模型