Я хотел реализовать маршрутизацию таким образом, чтобы при нажатии на раскрывающийся список переходил на эту конкретную страницу. Но я хочу, чтобы заголовок оставался при маршрутизации к другим компонентам. Он переходит на конкретный URL-адрес, но не показывает содержимое. Я пробовал дочернюю маршрутизацию, но, похоже, это не работает.
На изображении выше показано, как выглядит раскрывающийся список. У него следующий URL
localhost:4200/body
когда я нажимаю на управление пользователями, я хочу, чтобы оно перешло в
localhost:4200/body/user
Хотя он переходит на конкретный URL-адрес, он не показывает никакого контента ниже как на картинке.
Это мои коды (app.routing.ts и .html)
Пожалуйста, создайте код stackblitz.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Согласно док
const crisisCenterRoutes: Routes = [ {
path: 'crisis-center',
component: CrisisCenterComponent,
children: [
{
path: '',
component: CrisisListComponent,
children: [
{
path: ':id',
component: CrisisDetailComponent
},
{
path: '',
component: CrisisCenterHomeComponent
}
]
}
] } ];
Для вашего случая у вас будет:
{ path: 'body', component: BodyComponent, children: [ { path: '', redirectTo: 'user', pathMatch: 'full' }, { path: 'user', component: UserComponent } ] }
Если у вас есть вложенные маршруты, вам необходимо иметь розетку вложенного маршрутизатора:
{ path: 'user', component: LoginViewComponent,
children: [
{ path: 'catalog', component: CatalogViewComponent },
{
path: 'home', component: HomeViewComponent,
}
]
},
{ path: '**', redirectTo: 'user' }
Потом:
<div class = "container">
<div class = "dropdown">
<button class = "btn btn-primary dropdown-toggle" type = "button" data-toggle = "dropdown">Dropdown Example
<span class = "caret"></span></button>
<ul class = "dropdown-menu">
<li><a routerLinkActive = "active"
routerLink = "/user">Login</a></li>
<li> <a routerLinkActive = "active"
routerLink = "/user/home">Home</a></li>
<li> <a routerLinkActive = "active"
routerLink = "/user/catalog">Catalog</a></li>
</ul>
</div>
<router-outlet></router-outlet>
</div>
И в вашем дочернем компоненте:
<h1>Login</h1>
<router-outlet></router-outlet>
Я думаю, вы забыли добавить <router-outlet></router-outlet> в свой BodyComponent
html. добавить, что весь ваш код кажется прекрасным
Вот что случилось со мной: Поскольку он не работал, я попытался проверить, не выдает ли он ошибку, если я удалю
<router-outlet></router-outlet>
Это не так. Но потом я вставил обратно, и все заработало !!! Могли быть проблемы с кешированием?!?
Для себя я добавил такой маршрут:
{ path: '/', component: HomeComponent }
и консоль браузера выдала ошибку
Invalid configuration of route '/': path cannot start with a slash
Поэтому я заменил это на:
{ path: 'home', component: HomeComponent },
{ path: '', redirectTo: 'home', pathMatch: 'full' }
Извлеченный урок: Следите за консолью браузера
Пожалуйста, разместите свой код, а не изображение. Пожалуйста, посмотрите stackoverflow.com/help/how-to-ask