Javascript 如何定义到单个组件的多个路由?
我在项目中使用Vue 2。 我有这些路线: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
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"