Javascript 如何将可选路径和参数推送到vue路由器
在一个电子商务项目中,我有一个带有可选url参数的分类页面和一个产品页面。我想在可选参数中添加一个字符串,以避免与产品发生冲突,如下所示:Javascript 如何将可选路径和参数推送到vue路由器,javascript,vue.js,vue-router,Javascript,Vue.js,Vue Router,在一个电子商务项目中,我有一个带有可选url参数的分类页面和一个产品页面。我想在可选参数中添加一个字符串,以避免与产品发生冲突,如下所示: routes: [ { path: '/:category/(item-colour/:colour)?/(usage/:usage)?/', name: 'category', component: Category, props: true,
routes: [
{
path: '/:category/(item-colour/:colour)?/(usage/:usage)?/',
name: 'category',
component: Category,
props: true,
},
{
path: '/:category/:product',
name: 'product',
component: Product,
props: true,
},
],
但是当我去推可选参数时,我不能同时推字符串
push() {
let routeParams = {
category: this.category,
}
Object.assign(routeParams,
this.selectedColours.length > 1 ? {colour: this.selectedColours} : null,
this.selectedUsage.length > 1 ? {usage: this.selectedUsage} : null,
)
this.$router.push({ name: 'category',
params: routeParams
})
}
你的一个变量
的值是多少。例如,selectedColors
“红、蓝、绿”-一个或多个,用逗号分隔。我想你需要这样写:`path:/:category/'(item color/':color')?/'(usage/':usage')?/
,谢谢。不幸的是,我的路由器现在将我发送到默认状态。是否将字符串和右括号用单引号括起来?