Передача реквизита в Vue Router с несколькими компонентами - PullRequest
1 голос
/ 11 октября 2019

Я пытаюсь передать реквизит для компонента в маршрутизаторе, если он находится на определенном маршруте.

Во всех найденных уроках используется только один компонент, поэтому реквизит можно просто добавить в список.

Но с несколькими компонентами это не работает.

name: "Room",
  components: {
    navbar: TitleRooms,
    content: Room,
    props: {
        title: "message"
      }
  }

Я пробовал это, но это просто ничего не делает.

name: "Room",
  components: {
    navbar: {
      TitleRooms,
      props: {
        title: "message"
      }
    },
    content: Room
  }

Я тоже пробовал это, но этотакже не работает.

Есть ли возможность сделать это правильно с несколькими вложенными именованными представлениями маршрутизатора?

Ответы [ 2 ]

0 голосов
/ 11 октября 2019

Насколько я могу судить, вы пытаетесь это сделать:

name: "Room",
components: {
  navbar: TitleRooms,
  content: Room
},
props: {
  navbar: {
    title: "message"
  },
  content: false
}

Это должно передать значение "message" for the prop title to TitleRooms . It won't pass any props to Room . If you want to pass props to both components you can just change the false`соответствующий объект, содержащий реквизит, который вы хотите.

0 голосов
/ 11 октября 2019

На самом деле ваш маршрут отображает компонент Room , поэтому он получает параметры. Конечно, Navbar может получать свои реквизиты, но вы должны сделать это через template. Выполните:

<navbar :title="title" />

, который связывает this.title в компоненте Room (из параметра маршрута) с Navbar

...