Я использую 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