首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带斜线的vue路由器/:param

带斜线的vue路由器/:param
EN

Stack Overflow用户
提问于 2018-12-21 20:14:43
回答 2查看 6.9K关注 0票数 8

我有一个这样的路由器:

代码语言:javascript
复制
routes: [
    {
      path: '/survey/:surveyHash',
      name: 'survey',
      component: Survey,
      props: true,
    },

在组件中,我试图在道具中获得surveyHash。麻烦的是,当/surveyHash中有斜杠时,我不能这么做。

vue-路由器有解决方案吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-21 20:45:05

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

代码语言:javascript
复制
routes: [
    {
      path: '/survey/:surveyHash(.*)',
      name: 'survey',
      component: Survey,
      props: true,
    },

这样,您将得到URL的其余部分,包括surveyHash中的斜杠。

票数 25
EN

Stack Overflow用户

发布于 2019-08-31 23:09:34

有更优雅的解决方案。Vue路由器在外壳下使用路径到regexp模块,并且它有现成的解决方案。

代码语言:javascript
复制
const regexp = pathToRegexp('/:foo*')
// keys = [{ name: 'foo', delimiter: '/', optional: true, repeat: true }]

https://github.com/pillarjs/path-to-regexp#zero-or-more

代码语言:javascript
复制
const regexp = pathToRegexp('/:foo+')
// keys = [{ name: 'foo', delimiter: '/', optional: false, repeat: true }]

https://github.com/pillarjs/path-to-regexp#one-or-more

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53890365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档