Typescript Vue 3合成API-安装程序()返回的属性;在渲染期间访问,但未在实例上定义;

Typescript Vue 3合成API-安装程序()返回的属性;在渲染期间访问,但未在实例上定义;,typescript,vuejs3,vue-composition-api,Typescript,Vuejs3,Vue Composition Api,我在玩弄VUE3的合成API,创建一个小的应用程序内消息控制台,我不知道代码中的错误在哪里。 渲染此组件时,state在渲染期间(在循环中)被访问,但我认为我在setup()返回的对象中正确定义了它: {{message.text} 从“Vue类组件”导入{Options,Vue}; 从“@/store/consoleStore”导入{consoleStore} @选项({}) 导出默认类控制台扩展Vue{ 设置(){ console.log(“已输入安装程序”) consoleStore.r

我在玩弄VUE3的合成API,创建一个小的应用程序内消息控制台,我不知道代码中的错误在哪里。 渲染此组件时,
state
在渲染期间(在循环中)被访问,但我认为我在
setup()
返回的对象中正确定义了它:


{{message.text}

从“Vue类组件”导入{Options,Vue}; 从“@/store/consoleStore”导入{consoleStore} @选项({}) 导出默认类控制台扩展Vue{ 设置(){ console.log(“已输入安装程序”) consoleStore.record(“这是一个测试。”) let state=consoleStore.getState() 返回{ 状态 } } }
而且,
console.log(“安装程序输入”)
行不会向开发人员控制台输出任何内容。就好像从未进入设置块一样。 对于
consoleStore
我正在实现中提出的简单Vue 3存储类,因此它应该是一个
只读(反应式(填充))

从“vue”导入{reactive,readonly};
导出抽象类AbstractStore{
受保护国:T;
构造函数(){
设data=this.data();
这是设置(数据);
this.state=作为T的无功(数据);
}
受保护的抽象数据():T
受保护的设置(数据:T):void{}
公共getState():T{
将只读(this.state)返回为T
}
}

我认为您缺少在类组件中导入
设置

从“Vue类组件”导入{Options,Vue,setup};
从“@/store/consoleStore”导入{consoleStore}
函数useState(){
console.log(“已输入安装程序”)
consoleStore.record(“这是一个测试。”)
let state=consoleStore.getState()
返回{
状态
}
}
@选项({})
导出默认类控制台扩展Vue{
状态=设置(()=>useState())
}

这是有效的,我不知道为什么。这是哪里记录的?请检查我的,你会发现详细介绍这些功能的两个链接