Можно ли использовать переменную в конце «route.params». поймать несколько других "router.params"? - PullRequest
0 голосов
/ 01 ноября 2018

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

Дочернему совместно используемому компоненту необходим доступ к параметру, передаваемому по-разному в каждом из маршрутов трех других других компонентов (во всех из них параметр является строкой).

т.е .: component1.vue использует:

this.$route.params.something

component2.vue использует:

this.$route.params.anothersomething

component3.vue использует:

this.$route.params.yetanothersomething

Мой вопрос: есть ли у общего компонента способ доступа к последней части пути через переменную? как то так:

this.$route.params.{} //or
this.$route.params.${bar} //or
this.$route.params.* 

Любая помощь будет высоко ценится

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Вы можете сделать это с помощью реквизита.

В первом родительском компоненте:

<SharedComponent :prop="$route.params.something"></SharedComponent>

Во втором родительском компоненте:

<SharedComponent :prop="$route.params.anothersomething"></SharedComponent>

у третьего родителя:

<SharedComponent :prop="$route.params.yetanothersomething"></SharedComponent>
0 голосов
/ 01 ноября 2018

Для использования дочернего компонента:

  let info1 = this.$route.params;
  let info = info1[Object.keys(info1)[0]]
...