Vuex Как правильно вызывать мутации в дочерних модулях?

Я разбил свой vuex на несколько модулей, и теперь у меня перестали вызываться мутации из дочерних модулей(unknown mutation type: ***). Подскажите, что нужно сделать что бы исправить это?

Сам store

import Vue from "vue";
import Vuex from "vuex";
import ModalWindow from "./ModalWindow/mutations";
Vue.use(Vuex);
const store = new Vuex.Store({
    state: {
        name: "",
        title: "",
        task: "",
        modalClosed: false,
        showModalWindow: false,
    },
    modules: {
        ModalWindow
    }
});
export default store;

Модуль ModalWindow

const ModalWindow = {
    mutations: {
        expandView(state, payload) {
            state.itemToExpand = payload.item;
            state.expandedCategory = payload.category;
            state.showModalWindow = true;
        },
        closeModal(state) {
            state.showModalWindow = false;
        },
    openModal(state, modalState) {
        state.modalClosed = modalState;
    }
}};
export default ModalWindow;

Импортирую store в main.js

import store from './Store/index'
/////////////////////////////////
new Vue({
    store,
    render: h => h(App)
}).$mount("#app");

Вызываю мутацию из ModalWindow

<button @click="$store.commit('openModal',true)"></button>

<button @click="$store.commit('ModalWindow/openModal',true)"> Тоже не работает


Ответы (1 шт):

Автор решения: Eugene X

Мутации в дочерних модулях - звучит жестко )))

Варианта два плохой и не очень плохой )

  1. Сделать их глобальными привязав к Vue.mixin(MyGlobalMixin)
  2. this.$parent.$store.commit()

Я обычно использую второй вариант, ибо суперглобалный mixin это ну очень плохо!

→ Ссылка