【发布时间】:2017-04-14 23:55:35
【问题描述】:
我正在尝试找出一种方法来更新我的 URL 中的路径参数而不更改当前活动的路由。例如,假设我有以下路线:
{
path: 'pages/:pageId',
component: PageComponent,
children: [
{
path: 'sections/:sectionId',
component: PageSectionComponent,
children: [
{
path: 'details',
component: PageSectionDetailsComponent
}]
}]
}
我要解决的问题是,当有人更改 :pageId 时,我想在更改 URL 时保持他们的活动路由。因此,如果他们将:pageId 从 999 更改为 777,他们的路线应该从:
pages/999/sections/123/details => pages/777/sections/123/details
pages/999/sections/123 => pages/777/sections/123
此外,我需要为:sectionId 完成这项工作。例如,从:sectionId 123 导航到 456:
pages/999/sections/123/details => pages/999/sections/456/details
pages/999/sections/123 => pages/999/sections/456
我的项目中有几个子路由被我省略了,所以绝对链接很难维护。我希望我能以某种方式使用当前的ActivatedRoute,更改我正在更新的单个参数,然后使用Router 导航到该路线。
非常感谢任何帮助!
附加信息:
我正在使用 Angular 4.0.0
有一个类似的问题解决了我要解决的核心问题,但它已经过时了:Change a single route parameter on the current route in Angular 2
【问题讨论】:
标签: angular url-routing