vue.js - 为什么我在 App.vue 类的商店中的 getter 未定义
问题描述
我正在使用 vue、vuex 和 vuex-typescript 构建一个电子应用程序。因此,我使用 vuex-typescript 为我的商店提供了以下代码:
export const dispaVuex = {
namespaced: true,
state: {
dispatch: new Dispatcher(appState),
},
getters: {
getFTime(state: DispatchState): boolean {
return state.dispatch.fistTime;
},
},
};
const {read} = getStoreAccessors<DispatchState, RootState>("Test");
export const readFtime = read(dispaVuex.getters.getFTime);
将商店添加到我的 vue 实例后,我尝试访问我的 App.vue 中的 firstTime 变量,如下所示:
@Component
export default class App extends Vue {
// fTime: boolean;
get fTime(): boolean {
return readFtime(this.$store);
}
}
查看调试器时,商店中的所有内容都已完美初始化,但我的 App 实例的 fTime 未定义。
为什么会这样?关于事物的制作顺序,我有什么不明白的吗?
PS。firstTime 是 Dispatcher 类的成员
解决方案
因此,在仔细查看 vuex-typescript 自述文件中给出的示例后,我注意到我在调用函数时传递了错误的命名空间getStoreAccessors
。
使用dispaVuex
而不是Test
这样解决了问题:
const {read} = getStoreAccessors<DispatchState, RootState>("dispaVuex");
推荐阅读
- gcc - 如何使用 GCC 正确编译中断服务程序?
- python - 赋值前引用的局部变量“最高”
- python - 尝试从 smtplib 导入时出现 AttributeError
- python - 从另一个指定矩阵更改矩阵的第一列
- asp.net - 在 Plesk (GoDaddy) 中部署 ASP.Net 网站和 REST Web 服务
- python - 关闭pycharm容器的正确方法
- javascript - 用javascript中的值替换模式
- python - “模块”的实例没有“LBPHFaceRecognizer_create”成员
- .htaccess - 301将子目录中的www和其他子域重定向到非www
- c - 如果该结构作为数组存在,是否可以只从结构中发送一个变量?