Я разделил свой магазин Vuex на разные модули. когда я пытаюсь отправить actionA, который определен в модуле A, из действия модуля B, я получаю следующую ошибку в консоли:
actionA undefined
Я предполагаю, что это означает, что я не настроил или импортировал что-то правильно, но для жизни я не могу понять, что именно. некоторые псевдокоды для справки:
store. js:
import Vue from 'vue';
import Vuex from 'vuex';
import moduleA from './modules/moduleA';
import moduleB from './modules/moduleB';
Vue.use(Vuex);
export default new Vuex.Store({
namespaced: true,
modules: {
moduleA,
moduleB
},
state: { ...
},
getters: { ...
},
mutations: { ...
},
moduleA. js:
import Vue from 'vue';
import axios from 'axios';
export default {
namespaced: true,
state: {
devices: [],
devices_id: []
},
getters: { ...
},
mutations: { ...
},
actions: { ...
async actionA(context) {
},
...other actions...
}
}
moduleB. js:
import Vue from 'vue';
export default {
namespaced: true,
state: {
user_attr: null,
user_tokens: null,
signedIn: false
},
getters: { ...
},
mutations: { ...
},
actions: {
actionB(context) {
<some logic...>
context.dispatch('moduleA/actionA', null, { root: true }); // THE LINE IN QUESTION
},
...other actions...
}
}
Я использую vue -cli и отправляю actionB из Vue .app следующим способом в ловушке beforeCreate (): this.$store.dispatch('moduleB/actionB');
actionB работает нормально, пока не достигнет линия выше. «undefined» говорит мне, что я либо делаю что-то не так в отправке actionA, либо пропустил какую-то другую базовую c конфигурацию запланированного магазина. чтобы быть понятным, я сохранил некоторые объекты состояния, геттеры и мутации в магазине. js основной файл, но перемещение их в другое место не решает проблему.
Любая помощь будет принята.