Angular7 несколько дочерних маршрутов с пустым путем - PullRequest
1 голос
/ 16 февраля 2020

Привет StackOverflow

Я новичок в Angular, и в настоящее время разрабатываю приложение для учебных целей.

У меня есть один root модуль (приложение) и два дочерних модуля (тест и вопрос).

Ожидаемое поведение

  • Если я перехожу к / =>, я хочу показать QuestionListComponent в модуле QuestionModule
  • Если я перехожу к / question =>, я хочу показать QuestionListComponent в QuestionModule
  • Если я перехожу к / quiz =>, я хочу показать QuizComponent в QuizModule

Текущее поведение

  • Если я перехожу к / => Загружен QuestionListComponent
  • Если я перехожу к / question => Загружается QuestionListComponent
  • Если я перехожу к / quiz => QuestionListComponent загружается вместо QuizComponent

Маршруты AppModule

RouterModule.forRoot([
  { path: '', pathMatch: 'full', redirectTo: 'questions' },
  { path: 'quiz', loadChildren: './quiz/quiz.module#QuizModule' },
  { path: 'questions', loadChildren: './question/question.module#QuestionModule'}
]);

Маршруты QuestionModule

RouterModule.forChild([
      { path: '', component: QuestionListComponent },
      { path: 'new', component: QuestionFormComponent, canDeactivate: [UnsavedChangesGuard] },
      { path: 'edit/:id', component: QuestionFormComponent, canDeactivate: [UnsavedChangesGuard] },
    ]),

маршруты QuizModule

RouterModule.forChild([
      { path: '', component: QuizComponent }
    ])

Qu estion

Очевидно, что проблема в том, что при просмотре / quiz, angular сначала находит путь '' в модуле QuestionModule и загружает соответствующее содержимое.

Но как бы Я исправляю это так, что при просмотре / quiz загружается QuizComponent?

Дерево маршрутизатора По какой-то причине компоненты Вопроса попадают под узел викторины

Router tree for my problem

1 Ответ

0 голосов
/ 16 февраля 2020

Мне удалось решить проблему.

Я включил QuestionModule в QuizModule, в результате чего Angular объединил маршруты forChild. Я удалил его.

Теперь моё дерево роутера выглядит хорошо.

Correct router tree

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...