【发布时间】:2017-06-28 19:18:46
【问题描述】:
如何设置我的路由,以便我的参数可以使用正斜杠?
例如:myapp.com/file/rootfolder/subfolder/myfile
这不起作用:
const SECTION_ROUTES: Routes = [
{ path: 'file/:path', component: FileStoreComponent }
];
是否可以在路由参数值中包含 /?
我已经阅读了使用 URL 编码的 URL 方法。但是,我希望我的用户能够键入 URL。
【问题讨论】:
-
为什么不让您的用户输入 url,然后在提交之前对其进行 URL 编码?无论如何,您可能应该使值安全以防止恶意行为,只需使您的 URL 编码成为该功能的一部分。
-
我想让 URL 易于阅读,就像通过电子邮件提供时一样。有没有办法在到达路由器之前获取 URL 并对其进行编码?
-
啊,我以为你的意思是通过输入。
-
这个 github 问题说您必须使用通配符转义每个正斜杠,例如
/*page:github.com/angular/angular/issues/8049。这个问题也包括它:stackoverflow.com/questions/36597832/… -
我用 'file/*path' 试过了。无法解析路由...“错误:无法匹配任何路由。URL 段:\'file/folder1/folder2/file\'\n”(我的 Angular 版本设置为 ^4.0.0.0。)