我必须在 Vue 3 中使用 Composition API,还是仍然可以使用“Vue 2”的方式来做事?

Posted

技术标签:

【中文标题】我必须在 Vue 3 中使用 Composition API,还是仍然可以使用“Vue 2”的方式来做事?【英文标题】:Do I have to use the Composition API in Vue 3, or can I still do things the "Vue 2" way? 【发布时间】:2021-10-07 05:17:39 【问题描述】:

是否可以安装 Vue 3,但仍以“Vue 2”的方式做事?换句话说,我看到 Vue 3 具有新的 Composition API,但在 Vue 3 中这是可选的还是必需的做事方式?

出于某种原因,我认为 Vue 3 仍然允许您以 Vue-2 的方式做事,而是使用 Options API。不是这样吗?谢谢。

【问题讨论】:

【参考方案1】:

Vue 3 不需要使用 Composition API。正如两位 Vue 核心团队成员所解释的,Options API 仍然可用并且不会被移除:

Thorsten Lünborg in Vue 3: Data down, Events up (19-MAY-2020):

重要提示: 组合 API 是附加的,它是一个新功能,但它不会也不会取代您在 Vue 1 和 2 中熟悉和喜爱的优秀“选项 API”。只是将此新 API 视为您工具箱中的另一个工具,在使用 Options API 解决时感觉有点笨拙的某些情况下可能会派上用场。

Ben Hong in Enjoy the Vue #48: "New in Vue 3: The Composition API" (19-JAN-2021):

[00:01:03] T: 是的。嗯,我记得听到的第一件事是它正在替换选项 API。

[00:01:08] BH: 大免责声明。那没有发生。大免责声明。

...

[00:09:10] BH: [...] 这不是你需要去重写你的应用程序的东西。[...] 组合 API 不喜欢,放弃选项做组合。这是一个附加的东西,当你有一个可以解决的问题时,它真的很棒。

early RFC for the Composition API 只考虑过弃用 Options API:

此 RFC 的先前草案表明,在未来的主要版本中可能会弃用许多 2.x 选项,这些选项已根据用户反馈进行了编辑。

【讨论】:

以上是关于我必须在 Vue 3 中使用 Composition API,还是仍然可以使用“Vue 2”的方式来做事?的主要内容,如果未能解决你的问题,请参考以下文章

Vue3 Composition API 中道具的反应性?

我必须在 Vue 3 中使用 Composition API,还是仍然可以使用“Vue 2”的方式来做事?

Vue3 + Ts 笔录

在组件上的 Vue 3 中获取 URL 查询参数

Vue 3 + vue-property-decorator 的“超级表达式必须为 null 或函数”

Vue/Apollo:apollo 会关心缓存已经访问过的页面,还是我必须将它们保存在我的商店中?