Skip to content

解答-1

仲灏约 1 分钟

解答-1

Vue3.0 比 Vue2.x 的优势

  • 性能更好
  • 体积更小
  • 更好的 ts 支持
  • 更好的代码组织
  • 利于复杂逻辑抽离 - Composition API
  • 增加了新功能 Fragment Teleport Suspense

虽然有很多更具体的数据,但不用可以去记录这些数据,跟我们日常开发也没有太多关系,了解即可。

Vue3.0 生命周期

v2.x 的生命周期依然支持,需要注意的是:

  • beforeDestroy 改名为 beforeUnmount
  • destroyed 改名为 unmounted

新的 Composition API 有了新的生命周期。

看代码演示。

你如何看待 Composition API 和 Options API

Composition API 是 vue3 的重要更新,也是使用者们最关注的部分。

  • 更好的代码组织
  • 更好的逻辑复用 —— 这是两码事儿,后者依赖于前者
  • 更好的类型推导

代码组织参考例子

关于 vue2 中的类型推导

  • vue2 中的 this 的方式是比较微妙的。(比如 methods 选项下的函数的 this 是指向组件实例的,而不是这个 methods 对象)
  • vue2 设计时,是没有考虑 ts 的类型推导的

Composition API 和 Options API 如何选择??

  • 不建议共用,会很混乱
  • 普通情况下(之前用 vue2.x 也觉得挺好),建议还是继续用 Options API
  • 如果系统复杂度比较高,则考虑使用 Composition API ,毕竟需要抽离很多逻辑

关于 Composition API 的误解,重要!!!

  • 从 vue3 的文档来看,Composition API 隐藏很深,在“高阶指南”里。如果从 0 学习 vue3 你是不太容易接触到它的,普通场景下你甚至都用不到它。它属于一个附加或者高级的额功能。所以,不要把它看的那么重要。
  • vue3 也支持 vue2 的 options API ,而且入门文档就是用的 Options API 。这其实就跟 React 的 class 组件和 Hooks 一样了。所以,Composition API 就像是 React Hooks ,是可选的,是为了解决特殊问题的,而不是必须的。

上次更新:

讨论区

欢迎留下想法与补充