从 TypeScript 功能的角度来看,Vue.js 3 是不是可以实现基于类的语法?

Posted

技术标签:

【中文标题】从 TypeScript 功能的角度来看,Vue.js 3 是不是可以实现基于类的语法?【英文标题】:Is class-based syntax implementable for Vue.js 3 from the view point of TypeScript functionality?从 TypeScript 功能的角度来看,Vue.js 3 是否可以实现基于类的语法? 【发布时间】:2021-01-06 11:56:24 【问题描述】:

我知道 Vue 3 中删除了类 API。这意味着不会有现成的基于类的语法。

我不知道哪种魔法可以将 TypeScript 编写的 Vue 类转换为 vue-class-component 中有效的 Vue 组件对象,但它留下了希望,基于类的语法仍然可以在其他库中实现。问题只是 TypeScript 的装饰器是否允许。

【问题讨论】:

已经有很多理由不使用装饰器了...... @AluanHaddad,感谢您的评论。请给我一些文章链接的实例? 已经有 5 个装饰器提案提交标准化,没有一个进入第 3 阶段,无论做什么,如果有的话,很可能与多年前的 typescript 实现不兼容。 TS 当然会更新他们的实现以匹配他得到的任何标准化,如果有的话,然后你的代码将不兼容,直到你修复它。另一个提案是在 4 天前提交的 【参考方案1】:

基于issue,类组件与 Vue 3 兼容,并且它还公开了一个 API 以使用新的装饰器与新的组合 API 一起工作,删除了一些像 @component 并添加了新的像 @Options ,更多详情请查看issue

【讨论】:

感谢您的回答!我很高兴我仍然可以使用 OOP 语法。 不客气,我不喜欢 JS 中的 OOP,但我喜欢使用 php 和 Java 时使用它 我用 TypeScript 编写,几乎所有的 OOP 功能都可以在 PHP 和 Java 中使用。

以上是关于从 TypeScript 功能的角度来看,Vue.js 3 是不是可以实现基于类的语法?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 vue js 中添加 css 和 html 就像在单独的文件中添加角度 css、html 和 typescript

从Vue.js源码角度再看数据绑定

从编码人员的角度来看文件权限

为啥 TypeScript 中的类允许使用鸭子类型

vue 实现左滑图片验证

让 Vue.js 从带有 JSX 包的基本 CLI 安装使用 TypeScript 渲染 JSX