Vue.js 3 属性“$store”在“CreateComponentPublicInstance”类型上不存在

Posted

技术标签:

【中文标题】Vue.js 3 属性“$store”在“CreateComponentPublicInstance”类型上不存在【英文标题】:Vue.js 3 Property '$store' does not exist on type 'CreateComponentPublicInstance 【发布时间】:2021-08-26 05:55:56 【问题描述】:

我在我的项目中使用 vue.js 3、typescript 和 vuex 4。 但是在我的.vue 文件上使用this.$store 时出现此错误

Property '$store' does not exist on type 'CreateComponentPublicInstance<, ,  exchanges: Exchange[]; isValidNodeUrl: boolean; isValidSelectedNetworks: boolean; web3: "" | Web3; privateKey: string; jsonKeystore: string; jsonKeystorePassword: string; ... 24 more ...; botIsRunning: boolean; , ... 14 more ..., >'

我已根据此文档添加了vuex.d.ts,但仍然遇到相同的错误 https://next.vuex.vuejs.org/guide/typescript-support.html.

import  Store  from "vuex";
import  ComponentCustomProperties  from "vue";

import  State  from "@/interfaces/bot";

declare module "@vue/runtime-core" 
  // Declare your own store states.

  interface ComponentCustomProperties 
    $store: Store<State>;
  


有人可以帮我吗?

【问题讨论】:

它应该命名为shims-vuex.d.ts,正如我在这里所说的***.com/questions/64412243/… @BoussadjraBrahim 重命名后仍然是同样的错误.. 尝试重启编译器和编辑器 @BoussadjraBrahim 是的,已经做过几次了.. 确保 'src' 文件夹中的 'vuex.d.ts' 【参考方案1】:

检查 tsconfig.json。可能出现无法识别文件的错误。请尝试通过再次删除来重新添加文件。

【讨论】:

这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review

以上是关于Vue.js 3 属性“$store”在“CreateComponentPublicInstance”类型上不存在的主要内容,如果未能解决你的问题,请参考以下文章

Vue.js。数据属性未定义

Node.js 和 Vue.js,为啥 Refresh 让 vue.js 的 store 清晰?我如何在 vue.js 中使用上传的图片?

vue.js vuex store(参考)

使用 Vue.js 中的方法过滤计算属性的数组

Axios Vue.js 将对象数组从 store.js 传递给组件

Vue.js 传递来自不同模块的 $store 数据