@egyptForce

Как передать данные в маршрут vue-router?

У меня есть ряд роутов:
/foo
/bar
/baz
...
При инициализации приложения, когда запрашивается любой их этих маршрутов, происходит редирект на маршрут /i-love-vue-js. в компоненте, который рендерит этот маршрут, происходят некоторые процессы, по окончании которых, происходит редирект на изначальный маршрут. При редиректе на /i-love-vue-js мне в него нужно передать данные в этот маршрут. Вопрос как это сделать? я знаю что можно использовать query, но тогда эти данные будут видны в адресной строке, а я хотел бы этого избежать. редирект происходит вот так:

router.beforeEach((to, from, next) => {
  if(true) {
    next({
      path: '/i-love-vue-js',
      query: data
    })
  }
  
  next()
})

читал документацию, но кроме как решения с query не нашел. если я проглядел, ткните носом.
  • Вопрос задан
  • 434 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Задайте маршруту имя, и передавайте данные как params:

next({
  name: 'здесь имя маршрута, придумайте сами',
  params: data,
})

В компоненте маршрута они будут доступны как this.$route.params. Если надо, чтобы свойства params передавались в параметры компонента, также добавьте в описание маршрута props: true.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы