【发布时间】:2019-10-08 11:04:24
【问题描述】:
我的 Angular 应用程序的路由出现问题,它在不应该向 URL 添加括号时。
我有一个“深层”嵌套路由,所以我一直在尝试不同的方法,但并不幸运。
我只在嵌套的最底部遇到问题,所以最后一条路线可能
我期望的地方:
http://localhost:4200/#/customers/1/overview
我明白了:
我将代码与项目解耦并在 GitHub 上创建了一个简单的示例,因此您可以下载并尝试使用它(抱歉,无法在 plunkr 上制作)
https://github.com/ialex90/AngularErrorRouting
有几个分支,尝试不同的方法,
此外,您可以查看此公共链接以查看更详细的行为。
https://angular-error-routing.netlify.com/#/dashboard
有什么想法吗?谢谢!
【问题讨论】:
-
我不确定。但是在这里查看源代码:github.com/angular/angular/blob/4.3.0/packages/router/src/...@第428行通过搜索'(这可能是注定要发生的事情-我会冒险猜测它可能具有某种语义含义,例如可选参数。也许有人可以确认。AFAIK 它不会破坏功能。
-
这在 Angular 8 中仍然“损坏”。我不知道为什么这是默认行为并且不能被覆盖。如果我想要一条“次要”路线,为什么我可以自己添加该死的括号?真的那么难想象吗?是的,我意识到用大约 40 行代码,我可以编写自己的 URL 序列化覆盖。我只是觉得它很傻。