我正在使用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.*
任何帮助将不胜感激
答案 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>