Я знаю, что это, вероятно, бесполезно для @Vaishnav, но так как я недавно не пробежал по той же самой кроличьей норе, я решил опубликовать обходной путь, который я нашел для этого здесь, так как это был единственный пост, который я нашел, который спросилЭта проблема конкретно.
в вашем store/index.js
Вам необходимо экспортировать как функцию, так и объект хранилища.
Измените это:
export default() => {
return new vuex.Store({
namespaced: true,
strict: debug,
modules: {
someMod
},
plugins: [createPersistedState(persistedStateConfig)]
});
};
на:
const storeObj = new vuex.Store({
namespaced: true,
strict: debug,
modules: {
someMod
},
plugins: [createPersistedState(persistedStateConfig)]
});
const store = () => {
return storeObj;
};
export {store, storeObj}
Кроме того, поскольку теперь вы изменили способ экспорта магазина, вам также нужно будет изменить способ его импорта.
В любое место вашего приложения вы импортировали магазин, т. Е. В main.js
-> import store from '@/store'
, за исключением router.js
, вам необходимо изменить значение на import {store} from '@/store'
.router.js
просто import {storeObj} from '@/store'
и используйте это вместо store
в вашей защите маршрутизатора, то есть: storeObj.getters['someMod/someValue']