带Vue.js的通配符路由

时间:2018-04-22 18:38:26

标签: vue.js vue-component vue-router

我试图像这样匹配Vue.js路线:

{
  path: '/#/reset*',
  name: 'Confirm Reset Password',
  meta: { title: `Confirm password reset` },
  component: ConfirmResetPassword
},

到一个看起来像这样的网址

mywebsite.com/#/reset-password 

但它没有工作 - 它只是出于某种原因进入主页。我做的通配符是错的还是#'#'在保留的命名空间中?

我也有这两条路线:

{
  path: '/',
  name: 'Home',
  component: Home
},
{
  path: '*',
  name: '404',
  meta: { title: `Page not found` },
  component: Error404
}

**修改

我有历史模式,URL是从Django后端生成的

2 个答案:

答案 0 :(得分:1)

/#不应该是path的一部分。使用如下:

{
  path: '/reset*',
  name: 'Confirm Reset Password',
  meta: { title: `Confirm password reset` },
  component: ConfirmResetPassword
},

您的网址中包含/#的事实是因为您没有启用历史记录模式(这不是问题,它只是使用vue-router的另一种方式)。因此,您在没有/#的情况下声明路径。

答案 1 :(得分:0)

如果启用了历史记录模式,我就无法与之前提供的用#'#' - 解决方案是更改后端生成的URL。