Я пытаюсь получить состояние, состоящее из модулей пространства имен и глобального состояния. К сожалению, я могу получить доступ к глобальным действиям, но не могу получить свойства глобального состояния.
Если я пытаюсь использовать mapState в таком компоненте, как
computed: {
...mapState(['editMode']),
...mapState('address', ['addresses']),
}
У меня есть доступ к адреса, но режим редактирования всегда неопределен. Сопоставление действий работает безупречно и обновляет состояние в соответствии с Vuex Chrome Tool.
Но я заметил, что глобальное состояние отображается в его собственном «пространстве имен» «global». Поэтому я попытался отобразить, используя ... mapState ('global', ['editMode']), но получил ошибку, что пространство имен не существует.
Вот мой код:
index .ts
import Vue from 'vue';
import Vuex from 'vuex';
import address from './modules/address';
import global from './global';
Vue.use(Vuex);
export default new Vuex.Store({
modules: {
address,
global,
},
});
modules / address.ts
export default {
namespaced: true,
state: {
addresses: [],
},
mutations: {
...
},
actions: {
...
},
};
global.ts
export default {
namespaced: false,
state: {
editMode: 0,
},
mutations: {
SET_EDIT_MODE(state, value) {
state.editMode = value;
},
},
actions: {
setEditMode({ commit }, editMode) {
commit('SET_EDIT_MODE', editMode);
},
},
};