角度2路线参数

时间:2017-03-17 15:42:18

标签: angular router angular-component-router

1。)让我们假设在我们的路由模块中,我们有一个如下配置的路径:

{ path: 'version/:version/system/:system/id/:id' }

2。)在浏览器中我们导航到:

version/foo/system/bar/id/123

3。)在我们想要将URL更改为:

的组件中
version/baz/system/bar/id/123

...版本已更改......所有其他参数都相同......

...我们不知道如何实现这一目标(希望没有字符串替换:D),只需更改路由器的参数,并感谢任何帮助或输入......

其他一些信息:

this.route.params.subscribe(routeParams => {
  this.routeParams = routeParams;
})

this.routeParams就是那样的

{version: 'foo',system: 'bar',id: '123'}

在我的组件中,我想给版本一个像'baz'

这样的新值
{version: 'baz',system: 'bar',id: '123'}

我知道这会在不创建新对象的情况下抛出错误,因为this.routeParams是readonly ...所以我尝试了不同的东西,比如

this.router.navigate([this.router.url], {version: 'baz',system: 'bar',id: '123'})

我可以轻松地创建一个包含我所拥有信息的新URL字符串,但也许有一种简单的角度方式我无法看到:D

1 个答案:

答案 0 :(得分:0)

使用您的路由器并导航到当前路线,但使用更改的参数,如:

this.router.navigate([MyCurrentRoute, { version: 'baz' }]);