Vue2.x和3.x的区别

一.数据双向绑定原理不同

2.x使用的是Objectdefineproperty()  进行数据劫持 结合发布者-订阅者模式完成的

3.x使用es6提供的 proxy API进行数据代理

使用proxy的好处

Objectdefineproperty()只能监听对象的某一个属性,不能全对象监听

省去了闭包和for ... in 提高性能  proxy可以直接绑定整个对象

不用对数组进行特异性处理,proxy可以监听数组内部数据变化


二 .懒观察模式

2.x在加载初始就会为所有数据创建观察者

3.x 只会为用于页面初始加载的数据创建观察者


三.数据变更更加精确

2.x使用Vue.set给对象新增一个属性时,会对这个对象所有的watcher重新运行

3.x只会对依赖于该属性的watcher进行重新运行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容