【发布时间】:2018-06-10 13:42:22
【问题描述】:
假设我有 3 个网址:
/:projectId/info,
/:projectId/users,
/:projectId/users/:userId/profile。他们都有参数projectId。 UI 有一个组件可以从一个项目切换到另一个项目。所以我需要:
- 获取当前网址
- 按名称更改参数(例如 projectId)
- 导航到新网址
所以我需要this.router.replaceParam(currentUrl, {projectId: 'project_id_2'}) 之类的东西,它将/project_id_1/users/user_id_1/profile 转换为/project_id_2/users/user_id_1/profile(以及任何其他带有:projectId 参数的URL)
我认为这是一个简单而常见的问题,但在 1 小时内没有找到解决方案。建议的here 解决方案不像最后一条评论中提到的那样工作
【问题讨论】:
-
不确定是什么问题。如果你在那个 URL 上,路由组件可能已经使用了 projectId(否则这个参数就没用了,不是吗?),所以只需使用
this.router.navigate([this.projectId, 'users'])为例。 -
@JBNizet 我更新了我的问题,请检查清楚吗?
-
@fedor.belov 你试过 router.navigate(['/'+yourprojectId + '/users/' + youruserId + '/profile' ]) 吗?
标签: angular angular2-routing angular-routing