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

相关推荐
孟祥_成都21 小时前
打包票!前端和小白一定明白的人工智能基础概念!
前端·人工智能
小满zs21 小时前
Next.js第六章(平行路由)
前端
孤狼warrior21 小时前
公司信息建设库数据 使用调用堆栈的JS逆向爬虫
javascript·爬虫
小满zs21 小时前
Next.js第七章(路由组)
前端
Mountain and sea1 天前
发那科机器人指令详解:从入门到精通
前端·机器人
泯泷1 天前
Tiptap 深度教程(四):终极定制 - 从零创建你的专属扩展
前端·javascript·架构
局i1 天前
vue简介
前端·javascript·vue.js
yqcoder1 天前
vue2 和 vue3 中,列表中的 key 值作用
前端·javascript·vue.js
U***49831 天前
前端TypeScript教程汇总,从基础到高级
前端·javascript·typescript
梵得儿SHI1 天前
Vue 指令系统:事件处理与表单绑定全解析,从入门到精通
前端·javascript·vue.js·v-model·v-on·表单数据绑定·表单双向绑定