【发布时间】:2020-08-23 05:37:24
【问题描述】:
我的 VueJS 应用程序中有一个 store.js 文件,但它有点太大了,所以我尝试为它创建一些模块。但是我不确定我做错了什么,因为我的一个模块文件正常工作,而另一个没有做任何事情并且没有显示任何错误,我的组件根本不显示。
我所有的模块文件如下:
const myModule= {
state: {
myState: false
},
mutations: {
myMutation (state){
return state.myState= true;
}
},
actions: {
myAction({ commit }) {
// what i need to be done
}
},
getters: {
myState( state ) {
return state.myState;
}
}
}
export default myModule;
然后我将它们导入到我的 store.js 文件中,如下所示:
import myModule from '@/modules/myModule'
const store = new Vuex.Store({
namespaced: true,
modules: {
loginModule
},
我已经尝试使用他们的状态和动作如下
this.$store.dispatch('myAction').myModule
this.$store.getters['myModule/myState']
但是,只有我创建的第一个模块文件可以工作,而其他的没有,而且它们都具有相同的结构并且没有显示错误。不知道这里出了什么问题。
编辑:显然这些动作正在起作用,但我的吸气剂却没有。
【问题讨论】:
-
你能在 Vue DevTools 中检查 getter 吗?
-
检查错误。我主要使用的是 console.log() ,显然由于某种原因它们都被认为是未定义的。
-
它们在 vue devtools 上显示
-
包括那些无法访问的?
-
是的。我想我想通了。显然我没有命名我的模块,因此只有这些操作出于某种原因才起作用。