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 是只读的……所以我尝试了不同的方法,例如
this.router.navigate([this.router.url], {version: 'baz',system: 'bar',id: '123'})
我可以使用我拥有的信息轻松创建一个新的 URL 字符串,但也许有一种简单的角度方式我看不到:D