Vue2和Vue3的区别

85 阅读1分钟

B站视频

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