我是 Vue Typescript 的新手。我尝试创建全局组件,但收到警告并且组件未加载到模板上。这就是我尝试创建全局组件的方式
应用程序.vue
import { createApp } from "vue"
import App from "./App.vue"
import "./registerServiceWorker"
import "./globalComponents"
import router from "./router"
import store from "./store"
createApp(App)
.use(store)
.use(router)
.mount("#app")
Run Code Online (Sandbox Code Playgroud)
全局组件.ts
import { createApp } from "vue"
const app = createApp({})
// Forms
app.component("ui-input", () => import("@/components/core/ui/Input.vue"))
Run Code Online (Sandbox Code Playgroud)
输入.vue
<template lang="pug">
.ui-input
input(v-model="$attrs" v-on="$listeners")
</template>
<script lang="ts">
import { defineComponent } from "vue"
export default defineComponent({
inheritAttrs: false
})
</script>
Run Code Online (Sandbox Code Playgroud)
希望大家能够帮助我,先谢谢了
我使用 Vue 3 typescript,并尝试创建一个计算属性classes并包含像这样的返回对象
NavbarTypes.ts
interface INavbar {
onScroll?: boolean,
navbarActive?: boolean
}
export default INavbar
Run Code Online (Sandbox Code Playgroud)
data (): NavbarTypes {
return {
onScroll: false,
navbarActive: false,
}
}
computed: {
classes () {
return {
"navbar--on-scroll": this.onScroll,
"navbar--active": this.navbarActive
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了这些错误
(property) onScroll?: boolean | undefined
Property 'onScroll' does not exist on type 'CreateComponentPublicInstance<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, {}, {}, false, OptionTypesType<{}, ... 4 more ..., {}>, ... 5 more ..., {}>'.
Run Code Online (Sandbox Code Playgroud)
我认为这是因为计算的返回类型。但我不太确定,也不知道如何制作返回类型对象 …