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进行重新运行

你可能感兴趣的:(Vue2.x和3.x的区别)