【问题标题】:what will happen for vuejs projects based on class components in vuejs v3.0?vuejs v3.0 中基于类组件的 vuejs 项目会发生什么?
【发布时间】:2020-04-25 22:04:56
【问题描述】:

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

更新:Class API 提案正在被放弃。

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

因为我们没有使用类风格的语法,所以你使用 as 关键字 将数据声明为数据类型。

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

【问题讨论】:

    标签: typescript vue.js vue-class-components


    【解决方案1】:

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

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

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

    但是,如果您现在开始在 Vue 中使用 TypeScript,我强烈建议您查看将在 3.0 中添加的 new composition API。它是一个官方 API(不是库),与任何现有解决方案相比,它有很多好处。感谢composition-api,您现在甚至可以使用它

    【讨论】:

    • 那么使用 vue-class-component 库(它基于基于对象的组件 api)使用类组件是否仍然安全?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2023-03-18
      • 2018-12-26
      • 2023-03-17
      • 1970-01-01
      • 2021-11-17
      • 1970-01-01
      • 2019-10-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多