【发布时间】:2018-12-09 23:46:09
【问题描述】:
我有一个用例需要 vue 路由的 id 部分包含未转义的正斜杠。
我现在的路线是这样的:
{
path: '/browse/:path*',
component: browse,
name: 'browse',
displayName: 'Browse',
meta: { title: 'Browse' },
},
所以当用户浏览到上面的url时,会显示浏览组件。
但是,我想使用路径的 id 部分 (:path*) 来包含一个可嵌套的字段系统,例如我的浏览页面使用的路径。
例如,url /browse/project/project1 会在我的树中将我带到 project1 项的两层。
现在,我遇到的问题是 vue 路由器在以编程方式导航时正在转义我的 id(路径),我的 url 最终是这样的:/browse/project%2Fproject1。这是不理想的,对最终用户来说并不好看。此外,如果用户确实手动浏览到/browse/project/project1,应用程序将正常运行,甚至在 url 栏中保留原始编码。
所以我可以通过创建任意数量的子路径来解决这个问题,并希望系统永远不会超过这些,但这不是解决我的问题的好方法。
我还应该澄清一下,应用程序不会知道/browse 之后的路径,因为它是由为应用程序提供支持的 api 动态生成的。
vue-router 中是否有本地方式来处理这个问题?还是我应该改变我做事的方式。
【问题讨论】:
标签: vue.js vue-router