Угловая маршрутизация не показывает контент

Я хотел реализовать маршрутизацию таким образом, чтобы при нажатии на раскрывающийся список переходил на эту конкретную страницу. Но я хочу, чтобы заголовок оставался при маршрутизации к другим компонентам. Он переходит на конкретный URL-адрес, но не показывает содержимое. Я пробовал дочернюю маршрутизацию, но, похоже, это не работает.

Угловая маршрутизация не показывает контент

На изображении выше показано, как выглядит раскрывающийся список. У него следующий URL

localhost:4200/body

когда я нажимаю на управление пользователями, я хочу, чтобы оно перешло в

localhost:4200/body/user

Хотя он переходит на конкретный URL-адрес, он не показывает никакого контента ниже как на картинке.

Угловая маршрутизация не показывает контент

Это мои коды (app.routing.ts и .html)

Угловая маршрутизация не показывает контент

Угловая маршрутизация не показывает контент

Пожалуйста, разместите свой код, а не изображение. Пожалуйста, посмотрите stackoverflow.com/help/how-to-ask

Pratap A.K 27.09.2018 14:26

Пожалуйста, создайте код stackblitz.

Suresh Kumar Ariya 27.09.2018 14:33
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
4 151
5

Ответы 5

Согласно док

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' }

Извлеченный урок: Следите за консолью браузера

Другие вопросы по теме