从 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