1.双向数据绑定原理发生了改变:
- vue2的双向数据绑定是利用了Object.definepropert() 对数据进行劫持结合发布订阅模式来实现的。
- vue3中使用了es6的proxyAPI对数据进行处理。
2.响应式系统独立
- 完全在不使用浏览器的情况下使用vue的响应式系统,vue的响应式系统叫做@vue/reactivity这个api实现的,可以连通vue3与react,在任何使用node的环境下都可以使用;
3.自定义渲染器
- vue2是不支持直接渲染微信小程序或者其他非浏览器环境的渲染,如果在非浏览器下进行渲染(比如vue转小程序),需要修改源码,自己维护一套渲染;
- vue3支持自定义渲染,官方支持引入vue核心模块,在渲染层面可以根据不同的需求进行渲染;
4.全部使用TS重构
5.新的组件
- teleport 传送门 :用于将子元素从当前dom结构移动到指定位置,可以在不同的dom节点之间进行跨越式渲染;
- suspense 异步渲染