У меня есть настройка маршрутизации, подобная этой
{
path: '',
component: BaseCmp,
children: [
{ path: 'list', component: ListCmp },
{
path: 'list/:itemId',
component: ListItemCmp,
},
{
path: 'list/:itemId/:subNavItemId',
component: ListItemCmp,
}
]
}
Я выбираю элемент из ListCmp и перехожу к примеру «list / 123»
в конструкторе ListCmp /OnInit Я выбираю некоторые данные с помощью: itemId, и он возвращает список SubNavItems, из которого идентификатор первого SubNavItem должен быть добавлен в качестве параметров (для routerLinkActive для выделения и других целей извлечения).
constructor(route:ActivatedRoute, http:HttpClient, router:Router){
let id = route.params.itemId
http.get(.../id).subscribe(list => {
// add id of first item of list to params
this.router.navigate(['list', id, list[0].id, {replaceUrl:true}]
})
}
Это приведет к уничтожению текущего ListItemCmp и созданию нового ListItemCmp.Как я могу предотвратить это?Я пробовал метод location.go (), но он не запускает routerLinkActive