- 响应式原理改成了用proxy,解决了数组无法通过下标修改,无法监听到对象属性的新增和删除问题。
- 组合式api,源码改成了函数式编程,方便按需引入,因为tree-shaking功能必须配合按需要引入写法,打包体积更小。
- 性能优化,增加了静态节点标记,会标记静态节点,不对静态节点进行对比,从而增加效率。
- vue3不推荐使用minix,使用hook方法。
- v-model写组件时, vue2 绑定的值value 监听change/input事件 vue3 绑定的值modelValue 监听update:modelValue事件
- vue3适配ts
- vue2一个组件只允许有一个根节点,vue3引入了Fragments
- 因为虚拟DOM是单根树形结构的,patch方法在遍历时,从根节点开始遍历,这就要求只有一个根节点;
- vue3引入Fragment,允许多个根节点,这是一个抽象的节点,如果发现组件是多根的,就会创建一个Fragment节点,将多根节点作为它的children。