这个问题已经讨论了好几次(1-2),但我仍然无法解决。我正在转换我们的项目以在某些部分使用vue。我想完成的是:
/v/
开头,请查看vue路由器并匹配路径。/v/
以外的其他字符开头,则将其忽略(此视图将由后端从当前框架呈现)。我的路由器看起来像:
const router = new Router({
base: '/v/',
mode: 'history',
routes: routes
});
路线在哪里:
const routers = [
...
{
path: '/wholesale-catalogue/',
name: 'wholesale-catalogue',
component: () => import('./views/WholesaleCatalogue.vue')
}
...
]
我尝试的第二个选项是嵌套子路由:
const router = new Router({
mode: 'history',
routes: [
{ path: 'v', component: BaseView, children: routers }
]
});
问题是,当在网站中单击时,路由器会将非/v/
的网址重新路由到/v/
中,例如:
ourwebsite.com/home/
->上面有一些链接,例如/about/
。当您单击/about/
时,它实际上会转到ourwebsite.com/about/
几秒钟,但是URL会更改为/ourwebsite.com/v/about/
。这会带来一些麻烦,因为当您刷新网站时,此url不存在(在我们当前的后端框架上),因此不会呈现。