vue 3.0 变化
响应式:
2.0的响应式基于Object.defineProperty中的set和get方法实现兼容主流浏览器和ie9以上的ie浏览器,能够监听数据对象的变化,但是监听不到对象属性的增删、数组元素和长度的变化,同时会在vue初始化的时候把所有的Observer(观察者)都建立好,才能观察到数据对象属性的变化。
3.0的响应式采用了ES2015的Proxy来代替Object.defineProperty,可以做到监听对象属性的增删和数组元素和长度的修改,同时还实现了惰性的监听(不会在初始化的时候创建所有的Observer,而是会在用到的时候才去监听)但是,虽然主流的浏览器都支持Proxy,ie系列却还是不兼容,所以针对ie11,vue3.0决定做单独的适配,暴露出来的api一样,但是底层实现还是Object.defineProperty
vue3.0变化 二
对象的申明式方式:
vue2x中的组件是通过申明式的方式传入一系列属性的
vue3.0中改变了组件的申明方式,改成了类式的写法,这样使得和typescript的结合变得很容易。此外,vue3.0的源码也使用typescript来写。现在的3.0也全面改用typescript来重写了,更是使得对外暴漏的api更容易的结合typescript。
其余见百度网盘