Vue3.0 有什么更新?

(1)监测机制的改变:

  • 3.0 将带来基于代理 Proxy 的 observer 实现,提供全语言覆盖的反应性跟踪。
  • 消除了 Vue 2 当中基于 Object.defineProperty 的实现所存在的很多限制。

(2)只能监测属性,不能监测对象:

  • 检测属性的添加和删除;
  • 检测数组索引和长度的变更;
  • 支持 Map、Set、WeakMap 和 WeakSet。

(3)模板:

  • 作用域插槽,2.x 的机制导致作用域插槽变了,父组件会重新渲染,
    而 3.0 把作用域插槽改成了函数的方式,这样只会影响子组件的重新渲染,提升了渲染的性能。
  • 同时,对于 render 函数,vue3.0 也会进行一系列更改来方便习惯直接使用 api 来生成 vdom 。

(4)对象式的组件声明方式:

  • vue2.x 中的组件是通过声明的方式传入一系列 option,和 TypeScript 的结合需要通过一些装饰器的方式来做,虽然能实现功能,但是比较麻烦。
  • vue3.0 修改了组件的声明方式,改成了类式的写法,这样使得和 TypeScript 的结合变得很容易。

(5)其它方面的更改:

  • 支持自定义渲染器,从而使得 weex 可以通过自定义渲染器的方式来扩展,而不是直接 fork 源码来改的方式。
  • 支持 Fragment(多个根节点)和 Protal(在 dom 其他部分渲染组建内容)组件,针对一些特殊的场景做了处理。
  • 基于 tree shaking 优化,提供了更多的内置功能。
posted @ 2025-10-16 19:08  HECHEN****  阅读(16)  评论(0)    收藏  举报