为什么$ router.push({name:'summoner',params:{summonerName:summonerName}})导致url / summoner / use

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么$ router.push({name:'summoner',params:{summonerName:summonerName}})导致url / summoner / use相关的知识,希望对你有一定的参考价值。

我正在尝试执行一个功能,当用户单击某个元素时,它将用户重定向到另一个页面,

this.$router.push({ name: 'matchlist', params: { summonerName: summonerName }})

指向URL /summoner/username/,而不是/summoner/username。如果您没有注意到,则第一个URL的末尾会出现一个反引号,如果我在/summoner/username]上,该问题将不存在

如果我使用这个:

this.$router.push({ path: `/summoner/${summonerName}` })

[我被发送到/summoner/username,但一切正常,但是我仍然很好奇为什么在第一个示例中会出现这种问题。

路线:

{
    path: '/summoner/:summonerName',
    component: Summoner,
    children: [
        { path: '', component: Matchlist, name: 'matchlist' },
        { path: 'match/:matchId', component: SpecificMatch, name: 'specificMatch' }
    ]
}

功能:

    redirectToProfile(participant){
        let summonerName = participant.identity.player.summonerName
        this.$router.push({ name: 'matchlist', params: { summonerName }})
        //this.$router.push({ path: `/summoner/${summonerName}` })
    },

我正在尝试执行将用户单击某个元素时将其重定向到另一个页面的函数,但是,这是$ .router.push({name:'matchlist',params:{summonerName:summonerName}})。 ..

答案

这里是关于github https://github.com/vuejs/vue-router/issues/1753上的问题的讨论>

解决方法是将pathToRegexpOptions: { strict: true }添加到您的溃败中。

以上是关于为什么$ router.push({name:'summoner',params:{summonerName:summonerName}})导致url / summoner / use的主要内容,如果未能解决你的问题,请参考以下文章

将对象作为参数传递给 router.push (vue-router@4.05)

使用router.push的name属性调转时无法匹配404页面

vue 怎么拿到router.push传递的数据

$router path name 的疑问

vue $router.push 传参的问题

vue-router