我的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']
但是,只有我创建的第一个模块文件可以工作,而其他模块则不能,并且所有文件都具有相同的结构并且没有显示错误。不知道这里出了什么问题。
编辑:显然这些动作有效,但我的吸气剂却无效。
据我所知,您不需要为商店命名空间。
https://vuex.vuejs.org/guide/modules.html#accessing-global-assets-in-namespaced-modules
您最希望对模块进行命名空间。
然后,您可以使用mapGetters,mapState,mapMutations,mapActions轻松访问属性