Vue2和Vue3的区别有1:
- Vue3使用了ES6的Proxy API对数据代理,而Vue2使用ES5的一个API:Object.defineProperty()对数据进行劫持,结合发布订阅模式的方式来实现。
- Vue3支持碎片(Fragments),即可以拥有多个根节点,而Vue2不支持碎片。
- Vue3的API类型是使用Composition API,而Vue2使用的是Options API。
- Vue3中定义数据变量和方法跟Vue2也有所不同。
Vue3更换的原因如下:
- 使用新的语言特性:随着ES2015标准的发布,JavaScript得到了重大改进,主流浏览器终于开始为这些新添加的特性提供适当的支持。其中一些特性特别地为我们提供了极大提升Vue能力的机会。其中一个最值得注意的特性是Proxy,它允许框架拦截针对对象(属性)的操作。
- 内部逻辑分层不够清晰:Vue 2的内部逻辑分层不够清晰,对于长期维护是一个负担。这也是一个不重写就很难彻底改善的问题。