如何将可选路径和参数推送到vue路由器

时间:2019-12-30 13:09:07

标签: javascript vue.js vue-router

在一个电子商务项目中,我有一个带有可选url参数的类别页面和一个产品页面。我想在可选参数中添加一个字符串,以避免与产品发生冲突,例如:

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
            })
        }

0 个答案:

没有答案