Vue3新特性(优点)
- ES5:defineProperty:劫持 ----> ES6:Proxy:拦截
- defineProperty:无法监听动态新增属性,需要$set
- Proxy:解决之前监听数组的漏洞,如:可直接push、自动追踪深层嵌套对象变化、内存占用显著降低、渲染性能优化
- 包体积更小(按需打包)、Tree-shaking(摇树优化)更快的渲染速度
虚拟dom
- 完整支持TypeScript
- 新的内置组件:Fragment、Teleport、Suspense
- 改进的构建工具支持
vue3的生命周期
| vue2.x |
vue3.x |
| beforeCreated |
Not needed*(被setup()替代) |
created |
Not needed*(被setup()替代) |
beforeMount |
onBeforeMount |
mounted |
onMounted |
beforeUpdate |
onBeforeUpdate |
updated |
onUpdated |
beforeUnmount |
onBeforeUnmount |
unmounted |
onUnmounted |
errorCaptured |
onErrorCaptured |
renderTracked |
onRenderTracked |
renderTriggered |
onRenderTriggered |
activated |
onActivated |
deactivated |
onDeactivated |