【发布时间】:2021-06-06 12:03:52
【问题描述】:
我使用 Vue 3 打字稿,我尝试创建一个计算属性 classes 并包含这样的返回对象
NavbarTypes.ts
interface INavbar {
onScroll?: boolean,
navbarActive?: boolean
}
export default INavbar
data (): NavbarTypes {
return {
onScroll: false,
navbarActive: false,
}
}
computed: {
classes () {
return {
"navbar--on-scroll": this.onScroll,
"navbar--active": this.navbarActive
}
}
}
但我收到了这些错误
(property) onScroll?: boolean | undefined
Property 'onScroll' does not exist on type 'CreateComponentPublicInstance<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, EmitsOptions, {}, {}, false, OptionTypesType<{}, ... 4 more ..., {}>, ... 5 more ..., {}>'.
我认为这是因为计算的返回类型。但我不是很确定,也不知道如何制作返回类型对象
希望大家能帮帮我,先谢谢了
【问题讨论】:
-
你使用的是 vue 2 还是 vue 3?
-
嗨 @BoussadjraBrahim 对不起,我正在使用 vue 3
-
请分享整个组件代码
-
@BoussadjraBrahim 这里codepen.io/bukandicki/pen/vYxjvgX?editors=1010
-
您是否尝试删除使
onScroll属性成为可选的??
标签: typescript vue.js