Как обратиться к геттеру определенного модуля в 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 шт):

Автор решения: Vasiliy Rusin

Информации для ответа очень мало, Vuex в принципе на сколько я знаю не отдает ошибку store is not defined.

Из вашего кода можно лишь заметить что обращение к геттеру написано не правильно. store.getters.auth.isLogged должно быть либо store.getters.isLogged, если модуль не именованный, либо store.getters["auth/isLogged"] если модуль именованый.

Я так же подготовил минимальный воспроизводимый пример правильной конфигурации приложения, возможно он поможет Вам разобраться с вашей ошибкой самостоятельно.

Edit https://ru.stackoverflow.com/questions/1287093

Если данный ответ вам не поможет, дополните ваш вопрос предоставив больше информации.

→ Ссылка