16

我想将我的 vuejs 项目升级为基于类组件的打字稿,但我在 vue 问题的https://github.com/vuejs/rfcs/pull/17#issuecomment-494242121中阅读:

更新:Class API 提案正在被删除。

那么现有的基于类组件的项目会发生什么?更重要的是,基于这篇文章: https ://alligator.io/vuejs/using-typescript-with-vue/它说

由于我们没有使用类样式语法,因此您使用 as 关键字将数据声明为数据类型。

这种在 vue3.0 中使用 typescript 的方式安全吗?

4

2 回答 2

12

目前没有官方的基于类的 API。RFC 是关于添加一个,但由于那里讨论的原因而被删除。

现有项目正在使用vue-class-component库,它建立在官方的基于对象的组件 API(官方称为 Options API)之上。这应该在 3.0 中继续工作(因为 Options API 保持不变),但会遇到RFC 中提到的相同缺点。是维护者声明支持 Vue 3 的评论。

第二篇链接的文章是使用vue-class-component没有类的 TypeScript,只有常规的基于对象的组件 API + TypeScript 类型注释。所以是的,这将适用于 3.0

但是,如果您现在开始在 Vue 中使用 TypeScript,我强烈建议您查看将在 3.0 中添加的新组合 API 。它是一个官方 API(不是库),与任何现有解决方案相比,它有很多好处。

借助composition-api,您甚至可以将 Composition API 与 Vue 2 一起使用- 这是插件,但已制定计划使其正式化,更好地集成到 Vue 核心并由 Vue 核心团队维护。

于 2020-01-08T13:26:56.810 回答
0

我创建了一个基于组合 API 的 vue 3 类组件。Npm 包。如果发现任何错误,或者从组合 API 问题中忘记功能,请使用它。

于 2022-01-13T06:35:55.087 回答