Vue路由器/:带有斜杠的参数

Ada*_*lov 4 javascript vue.js vue-router vue-component

我有这样的路由器:

routes: [
    {
      path: '/survey/:surveyHash',
      name: 'survey',
      component: Survey,
      props: true,
    },
Run Code Online (Sandbox Code Playgroud)

在组件中,我尝试获取surveyHash道具。麻烦的是当里面有/斜线时我做不到surveyHash

vue-router中有解决方案吗?

nem*_*esv 9

您可以在路线定义中使用自定义匹配模式

routes: [
    {
      path: '/survey/:surveyHash(.*)',
      name: 'survey',
      component: Survey,
      props: true,
    },
Run Code Online (Sandbox Code Playgroud)

这样,您将获得URL的其余部分,包括斜线 surveyHash

  • @AdamOrlov 请记住,这将匹配之后的所有内容,这意味着您不能使用 `/survey/{hash}/edit` 例如 (3认同)