我定义了一个带有两个模块的商店,我试图访问一个模块操作,我试图这样做
this.$store.dispatch('load');
但我得到:
[vuex]未知动作类型:加载
我尝试了另一个选项,我在谷歌找到的东西,但没有任何效果,访问模块操作的正确方法是什么?
这是我的代码:
Vuex定义:
let session = require('./store/session.js');
let options = require('./store/options.js');
const store = new Vuex.Store({
modules: {
session: session,
options: options,
},
});
options.js
export default {
state: {
data: null,
},
mutations: {
setOptions (state, payload) {
console.log(payload);
}
},
actions: {
load( { commit }) {
$.getJSON('options')
.then(function (data) {
commit('setOptions', data);
});
}
},
getters: {
}
}
和我的应用程序组件:
export default {
beforeCreate() {
this.$store.dispatch('load');
}
}
我的vue构建:
new Vue({
el: "#app",
router,
store,
render: h => h(App)
});
1 回答
我解决问题而不是做
我做了:
现在它有效