typescript - 如何在 vuejs 3 中设置 createApp(App) 函数的类型?
问题描述
我在打字稿上使用 vue3 和 firebase。
// main.ts
import { createApp } from 'vue'
import App from './App.vue'
import './registerServiceWorker'
import router from './router'
import store from './store'
import { auth } from './firebase'
// eslint-disable-next-line
let app: any
auth.onAuthStateChanged(() => {
if (!app) {
app = createApp(App)
.use(store)
.use(router)
.mount('#app')
}
})
我应该将什么类型设置为“app”变量?我尝试了 App,typeof App 但它失败了。
解决方案
createApp
返回一个App实例。由于您已经App
导入了一个,因此您需要在导入时重命名该类型。但是 noticeapp.mount
返回了一个不同的类型,你不能在createApp
不改变类型的情况下链接它:
import { createApp, App as Application } from 'vue'
import App from './App.vue'
// other imports
let app: Application
auth.onAuthStateChanged(() => {
if (!app) {
app = createApp(App)
app.use(store)
app.use(router)
app.mount('#app')
}
})
推荐阅读
- javascript - 如何为开放图层中的开放街道地图使用不同的主题?
- java - 列表上的 Selenium 非确定性循环
- java - Eclipse:导出具有依赖项的 java 库
- java - 声明和直接归因之间的区别
- azure - Microsoft.Azure.Cosmos SDK 带有延续令牌的分页查询
- python - 在 pytest 中重命名参数化测试
- python - 如何在熊猫中读取具有另一个列名的列?
- swift - 使用 Swift iOS13 自定义 UITextView 中的嵌入式超链接
- vba - VBA 不能循环遍历行
- java - 谷歌云 KMS java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V