Как обратиться к геттеру определенного модуля в vuex?
Пытаюсь создать приватный роутер с помощью middleware и Vue. Для этого мне необходима функция
export default function auth ({ next, store }){
if(!store.getters.auth.isLogged){
return next({
name: 'login'
})
}
return next()
}
которая будет отслеживать залогинен ли пользователь, и соответственно перенаправлять маршруты. Только вот store is not defined, потому что значение isLogged лежит не в общем глобальном файле index.js, а в отдельном модуле-файле auth.store.js, а в функции обращение идет к общему store.
Как сделать в этой функции обращение к store конкретного модуля?
Ответы (1 шт):
Информации для ответа очень мало, Vuex в принципе на сколько я знаю не отдает ошибку store is not defined.
Из вашего кода можно лишь заметить что обращение к геттеру написано не правильно. store.getters.auth.isLogged должно быть либо store.getters.isLogged, если модуль не именованный, либо store.getters["auth/isLogged"] если модуль именованый.
Я так же подготовил минимальный воспроизводимый пример правильной конфигурации приложения, возможно он поможет Вам разобраться с вашей ошибкой самостоятельно.
Если данный ответ вам не поможет, дополните ваш вопрос предоставив больше информации.