Не удалось диспетчеризировать действия модуля Vuex в компоненте - PullRequest
0 голосов
/ 02 июня 2019

Я новичок в Vue и Vuex. И у меня есть вопрос, связанный с этой структурой, надеюсь, получит некоторую помощь.

Это код моего главного магазина:

export default new Vuex.Store({
    modules: {
        loader: LoaderStore
    }
})

export default store;

А вот мой код магазина Loader:

export default new Vuex.Store({
    namespaced: true,
    state: () => ({
        shown: false,
    }),
    mutations: {
        showLoader: state => state.shown = true,
        hideLoader: state => state.shown = false,
    },
    actions: {
        showLoader: ({ commit }) => commit('showLoader'),
        hideLoader: ({ commit }) => commit('hideLoader'),
    }
})

Наконец-то мой компонент кнопки:

<button @click="submit">Show Loader</button>

<script>
export default {
    methods: {
        submit() {
            this.$store.dispatch('loader/showLoader');
        }
    }
}
</script>

Как я хочу, когда кнопка нажата, загрузчик загрузчика будет показан. Но это не так, и журнал консоли показывает эту ошибку:

[vuex] неизвестный тип действия: loader / showLoader

Я также искал много тем на этом сайте, но все еще не мог найти способ решить. И я решил разместить новый вопрос здесь. Пожалуйста, помогите, вы можете найти некоторые проблемы.

Большое спасибо и извините за мой английский!

1 Ответ

1 голос
/ 02 июня 2019

Код модуля загрузчика должен экспортировать по умолчанию.Поэтому замените export default new Vuex.Store({}) на export default {}.

Подробнее: https://vuex.vuejs.org/guide/modules.html

...