我有一些像这样的路由代码:
// routing.module.ts
const routes: Routes = [
{
path: ':group',
component: MainComponent,
children: [
{ path: 'prod', loadChildren: './prod/prod.module#ProdModule' },
{ path: 'test', loadChildren: './test/test.module#TestModule', },
]
}
];
我预期的效果是这样的导航: localhost:4200 / a / x =>的本地主机:4200 / B / X 'x'可以是'prod'或'test'。 我只想更改参数组并保持其他路线不变。
在我的MainComponent中,我编写了一些代码并且不知道如何进行导航:
// MainComponent
this.activatedRoute.paramMap
.subscribe((params: ParamMap) => {
let originalGroup = params.get('group');
if (originalGroup === 'a') {
// this.router.navigate(); // <= How to change the group with other routes remaining unchanged ???
}
});
答案 0 :(得分:0)
这更像是一个黑客,但你可以编辑它以使其更通用。
// MainComponent
this.activatedRoute.paramMap
.subscribe((params: ParamMap) => {
let originalGroup = params.get('group');
if (originalGroup === 'a') {
// if you are in prod code. (change the prod to test if you are in test code)
this.router.navigate(['/b','prod']);
}
});