是否可以在“ route.params”的末尾使用变量。赶上其他几个“ router.params”?

时间:2018-11-01 14:54:57

标签: variables vue.js parameters router vue-router

我正在使用vue-router来在组件之间传递参数。我的应用程序的一部分具有在其他三个组件中重复的子组件。一次只能使用一个父组件。

子共享组件需要访问在其他三个其他组件的每个路由中以不同方式传递的参数(在所有这些组件中,param是一个String)。

即: 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 :(得分:0)

在子组件上使用:

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

答案 1 :(得分:0)

您可以使用道具来完成此操作。

在第一个父组件中:

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

在第二个父组件中:

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

在第三亲中:

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