this. $ store.dispatch (). then () не работает в Vuex - PullRequest
1 голос
/ 20 марта 2020

Я использую VUEX в своем проекте, и мне нужно выполнить некоторые действия ПОСЛЕ изменения состояния. Вот мой модуль в магазине . js:

const state = {
    activeEvent: null
};

const mutations = {
    SET_ACTIVE_EVENT(state, activeEvent) {
        state.activeEvent = activeEvent;
    }
};

const actions = {
    setActiveEvent({ commit }, activeEvent) {
        commit("SET_ACTIVE_EVENT", activeEvent);
    }
};

export default {
    state,
    mutations,
    actions
};

Вот код:

this.$store.dispatch("setActiveEvent", event).then(() => {
   //Something...
});

Когда я это делаю, я получаю это сообщение об ошибке с консоли:

Uncaught (in promise) TypeError: Cannot read property 'then' of undefined

То, что я пробовал до сих пор:

const actions = {
    setActiveEvent({ commit }, activeEvent) {
        return new Promise(resolve => {
            commit("SET_ACTIVE_EVENT", activeEvent);

            resolve(true);
        });
    }
};

И:

const actions = {
    setActiveEvent({ commit }, activeEvent) {
        return new Promise(resolve => {
            resolve(commit("SET_ACTIVE_EVENT", activeEvent));
        });
    }
};

Но оба возвращают одну и ту же ошибку. Что я делаю не так?

Редактировать:

Если это поможет, я использую:

  • vue ^ 2.5. 16
  • vue -электрон ^ 1.0.6
  • vuex ^ 3.0.1
  • vuex-электрон ^ 1.0.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...