Vue双向绑定2.0和3.0区别

本文介绍了Vue2.0通过Object.defineProperty实现数据劫持的双向绑定,而Vue3.0使用ES6的Proxy进行对象级别的监听。Vue2.0的局限在于不能监听对象新增或删除属性及数组下标修改,而Vue3.0解决了这些问题。同时,文章探讨了观察者模式与发布者-订阅者模式的区别,指出观察者模式在目标对象改变时会通知所有依赖它的对象,但可能带来性能问题。
摘要由CSDN通过智能技术生成

Vue2.0实现双向绑定

Vue2.0使用ES5的Object.defineProperty()实现数据劫持和双向绑定
Obejct.defineProperty()可以添加对象属性或者修改属性
用法:
Obejct.defineProperty(obj, prop, descriptor)
obj:目标对象
prop:对象属性
descriptor:属性特性
返回处理后的对象obj
如果没有给Object设置特性的话,默认configurable,enumrable.writable都为false
在这里插入图片描述
返回结果:
在这里插入图片描述
在这里插入图片描述
设置了setter,getter方法以后
在这里插入图片描述
这里可以看到Object.defineProperty()方法劫持了set方法,也就为Vue.2.0的双向绑定提供了思路

Vue3.0实现双

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值