在 Vue 3.2 中,<script setup>
可以用来简化组件的编写,但是在导出组件类型时,可能会出现编译时类型错误的问题。
如果你在 <script setup>
中声明了一个组件类型,并将其导出,可能会收到以下错误:
Error: [VueCompilerError] Exported `type` cannot be a subclass of `Vue`.
这个错误是由于 TypeScript 在处理组件类型时,会将其视为一个 Vue
子类。但是,在 <script setup>
中,组件类型被视为一个“基类”,因此不支持继承自 Vue
。因此,你需要对类型做一些修改来解决这个问题。
一种解决方法是使用 defineComponent
函数来定义组件类型,而不是继承自 Vue
。例如: