Не удается получить доступ к геттерам vuex при первой загрузке (SSR, Quasar) - PullRequest
0 голосов
/ 28 мая 2020

Я пытаюсь использовать геттеры (vuex) для проверки некоторых условий в хуке beforeEach:

import paths from 'src/router/paths'

export default ({ router, store }) => {
  router.beforeEach(async(to, from, next) => {
    const seats = store.getters['cart/seats']
    const seatUnassigned = seats.some(s => !s.passengerID)
    const hasSeats = seats.length > 0
    const path = to.path

    if (path === paths.passenger) {
      if (!hasSeats) {
        await next(paths.home)
        store.dispatch('alerts/updateEmptyCartDialog', true)
      } else {
        next()
      }
    } else {
      next()
    }

    if (path === paths.payment) {
      if (!hasSeats) {
        await next(paths.home)
        store.dispatch('alerts/updateEmptyCartDialog', true)
      }

      if (seatUnassigned) {
        await next(paths.passenger)
        store.dispatch('alerts/updateAssignPassengerToSeatDialog', true)
      } else {
        next()
      }
    } else {
      next()
    }
  })
}

Он работает нормально, пока я не обновлю sh страницу на одном из путей выше (оплата, пассажир). Поскольку первая загрузка кажется асинхронной c, места отображаются как [] (хотя на самом деле у меня есть данные внутри, насколько это может быть странно?).

Печать ниже https://i.stack.imgur.com/gSNJe.png

Как правильно получить данные?

...