Я использую функцию navigate
из класса Router
для создания URL-адреса из компонента:
this.router.navigate(['/menu'], { queryParams: { level, parent: name } });
Он отлично работает с настройкой this.route.params
, но мой URL-адрес выглядит как /menu?level=2&parent=A
, что очень некрасиво.
Я бы хотел, чтобы URL-адрес выглядел так: /menu/2/A
.
Я заменил router.navigate
на location.go('/menu/' + level + '/' + name)
(расположение от @angular/common
). Проблема в том, что он не обновляет this.route.params
.
Любое предложение, как я могу получить хороший URL-адрес и обновить route.params
?
Конфигурация маршрутов:
const routes: Routes = [
{
path: '', component: HomeComponent
},
{
path: 'menu/:level/:parent', component: MenuComponent, pathMatch: 'full'
},
{
path: 'menu', component: MenuComponent, pathMatch : 'full'
}
];