Vue2和Vue3的主要差异
1. 性能提升
Vue3在性能优化方面有了巨大的提升:
使用了Proxy代替了Object.defineProperty,减少了对属性的劫持,使得渲染速度更快。
体积减小,从20K减少到了14K,文件大小减少了30%,让你的应用更加轻量。
2. 组合式API
Vue3引入了组合式API,可以让你更好的组织组件代码,使其更加易于维护和测试。组合式API还可以让你更好的分类功能,并且Vue3已经为其提供了很多内置的实用工具。
3. Teleport
Vue3增加了Teleport这个全新的组件,可以使你的Portal更加容易实现。它可以让你方便的将组件的内容放置在DOM的任何位置,让你很容易的实现模态框、滚动容器等等。
4. 动态属性
Vue3中,可以通过v-bind将一个Object展开成多个属性,使得我们可以更加灵活的绑定数据。这个特性让你可以在动态地指定属性时更加方便,同时也可以让你的代码更加简洁。
5. 生命周期变更
Vue3对一些生命周期方法进行了调整:
beforeCreate、created改为了setup。
beforeMount、mounted变成了onBeforeMount、onMounted。
beforeUpdate、update、updated变成了onBeforeUpdate、onUpdated、onUpdate。