Vue 3中createApp方法返回的app实例对应的TypeScript类型是什么?
正确类型及解决方案
你之前标注的CreateAppFunction<Element>是createApp这个函数本身的类型,而非它调用后返回的实例类型,所以会出现类型不匹配的报错。
createApp调用后返回的实例正确类型是Vue内置导出的App接口类型,按以下方式修改即可:
// 从vue中导入对应类型 import type { App, createApp } from 'vue' import App from './App.vue' // 给变量标注正确的实例类型 let app: App<Element> describe("Test Vue", () => { beforeEach(() => { app = createApp(App) }) })
你也可以用ReturnType直接自动推导createApp的返回值类型,不需要手动导入App和写泛型参数,写法更简洁:
import { createApp } from 'vue' import App from './App.vue' // 自动推导createApp返回的实例类型 let app: ReturnType<typeof createApp> describe("Test Vue", () => { beforeEach(() => { app = createApp(App) }) })
内容的提问来源于stack exchange,提问作者telion
相关产品推荐
相关产品推荐

