记录一下Vue2和Vue3的数据劫持方面的区别

1、兼容区别

稳定版vue2.0兼容IE9+ ,9以下不兼容

Vue3.0兼容IE11+ ,11以下不兼容

2、数据双向绑定区别

Vue2.0 => 一次只能劫持一个属性 也可以劫持多个属性 但是需要for循环

Vue2.0 => 如果在劫持之后再增加一个新的属性 这个属性是没有被劫持的 需要额外的进行劫持操作

Vue3.0 => 可以劫持多个属性,因为Vue3.0通过proxy进行代理,返回的是一个新对象,从而达到目的

3、Vue3.0数据劫持通过proxy代理

Vue3.0 => 通过proxy进行代理 代理过后无论是设置还是获取 都找这个代理对象,他有三个参数 :1、target:代理的目标对象 2、key:属性名 3、value

4、Vue2.0数据劫持通过ES5语法 object.defineProperty

// 数据劫持 具体区别:

// 1、Object.defineProperty 
  1) 用于监听对象的数据变化
  2) 无法监听数组变化(下标,长度)
  3) 只能劫持对象的自身属性,动态添加的劫持不到
// 2、Proxy
  1) proxy返回的是一个新对象, 可以通过操作返回的新的对象达到目的
  2)可以监听到数组变化,也可以监听到动态添加的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值