Задать вопрос
ar6uz
@ar6uz
Фронтент разработчик в компании Profsoft

Vue Router как передать переменную?

Ребят помогите пожалуйста.
При клике по ссылке открывается другой компонент, в него через роут передается id, формируется url вида:
/adres/ID
все как надо.
но требуется в этот компонент передать еще один параметр, что бы компоненте его записать в переменную, никак не получается это сделать, опыта мало.
<router-link
                               tag="a"
                               class="button"
                               :to="{name: 'historyId', params: {id: historyItem.id, date: historyItem.date}, props: {id: historyItem.id, date: historyItem.date}}"
                               :key="historyItem.id"
                       >
                           <span class="button__icon">
                               <i class="fas fa-sync-alt"></i>
                           </span>
                           <span class="button__text">
                               Повторить
                           </span>
                       </router-link>

пытаюсь получить в компоненте:
date: this.$router.currentRoute.params['date'],
но не работает, как быть?
  • Вопрос задан
  • 12942 просмотра
Подписаться 2 Простой 4 комментария
Решения вопроса 1
ar6uz
@ar6uz Автор вопроса
Фронтент разработчик в компании Profsoft
и так, как это сделать:
1. надо прописать в роуте разрешение на передачу props (props: true):
{
      path: '/history/:id',
      component: HistoryId,
      name: 'historyId',
      props: true
    }

2. в route-link прописать, какие парметры хотите передать (params: {}):
<router-link
                               tag="a"
                               class="button"
                               :to="{name: 'historyId', params: {id: historyItem.id, date: historyItem.date}}"
                       >

3/ Принять эти данные в компоненте:
<script>
    export default {
        props: ['date'],
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Похожие вопросы