Vuejs передает данные в качестве реквизита к компоненту через маршрутизатор - PullRequest
0 голосов
/ 20 сентября 2018

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

Как я могу перейти на другую страницу:

this.$router.push({ name: `messages_new` });

В моем компоненте сообщенияЯ должен получить идентификатор контакта в этом реквизите:

props: {
      sendTo: {
        type: Object,
        default: () => ({
          to: []
        }),
        description: 'Pre fill the send field with this receivers formatted {contact, type}'
      }
    },

Я пробовал этот способ, как пример попробовать, чтобы увидеть, если данные передаются, от компонента страницы контакта к компоненту сообщения:

data(){
   sendTo: {
      to: [{
        contact: {
          email: 'exemple@9online.fr',
          first_name: 'exemple',
          last_name: 'exemple',
          _id: '12'
        },
        type: 'contacts'
      }]
    }
}

`this.$router.push({ name: `message_new`, params: { sendTo: this.sendTo} });`

Но это не работает, есть ли что-то не так в том, что я делаю, я что-то забыл или это совершенно неверный путь?

[РЕДАКТИРОВАТЬ]

Мой маршрут настроен какэто:

{
    name: 'profile',
    path: '/profile/:id',
    component: Profile,
    props: (route) => ({ id: route.params.id || null }),
}

Мой реквизит уже установлен с идентификатором контакта

1 Ответ

0 голосов
/ 20 сентября 2018

Просто добавьте реквизиты: true к вашему маршруту в router.js, например:

{ path: '/Profile', name: 'Profile', component: load('ProfileComponent'), props: true}
...