Javascript 如何定义到单个组件的多个路由?

Javascript 如何定义到单个组件的多个路由?,javascript,vue.js,Javascript,Vue.js,我在项目中使用Vue 2。 我有这些路线: const routes = [ { path: "/suites", component: Home, }, { path: "*", component: LandingPage, }, ]; 我需要添加一条额外的路线: www.mysite.com/?number=xxxxxx 在此管线上,应显示主元件 我试过: { path: {&q

我在项目中使用Vue 2。 我有这些路线:

 const routes = [
  {
    path: "/suites",
    component: Home,
  },
  {
    path: "*",
    component: LandingPage,
  },
];
我需要添加一条额外的路线:

www.mysite.com/?number=xxxxxx   
在此管线上,应显示主元件

我试过:

  {
    path: {"/suites","?number=xxxxxx"}
    component: Home,
  }     
  
但上述态度不起作用。 你知道我怎么走这两条路吗 (xxxxxx是可以更改的数字)


要打开组件?

路径属性应该是单个字符串,而不是数组。 您需要定义两条路线。如果不希望复制代码,可以执行以下操作:

{
…(['/suites','/'].map(路径=>({
路径
组成部分:家庭,
}),
}
要在vue组件中获取number参数,您应该能够使用以下代码获取它:

this.$route.query.number


主页
组件中,在
$route上设置一个观察者。query
可观察查询参数的更改,在未找到
编号时重定向到登录页:

//Home.vue
导出默认值{
观察:{
“$route.query”(查询){
如果(!query.number){
此.$router.replace({name:“landing”})
}
}
}
}
在路由器配置中,在
路径
字符串(传递到)中使用正则表达式,以便
/
/suites
解析到
组件:

const路由=[
{
路径:“/(套件)?”,//“套件”是可选的
组成部分:家庭,
},
{
路径:“*”,
名称:“登陆”,
组件:登陆页面,
},
]

谢谢你的帖子。我如何使xxxxx动态?我编辑了我的答案,以便更好地回答你的问题:)不,不清楚我如何使用map route以及如何在route中使用numb。您不能指定将在路由中接收的查询参数。或者,您可以执行以下操作:
“/:number”
并按如下方式获取:
this.$route.params.number
Solar,我不需要获取number参数。我只需要配置如何导航ate到主组件,如果我有以下路由格式:?number=xxxxx。xxxxx是任意数字。
?number
/
上的查询参数,因此使用
{path:'/',别名:'/suites',component:Home},
然后检查
此.$route.path
如果其
/
则检查
此.$route.query.number
以获取您的xxxxxx值
        "?number=xxxxxx"      
        "/suites"