Угловой маршрутизатор не видит компонент для перенаправления - PullRequest
1 голос
/ 15 октября 2019

Я пытаюсь создать маршрутизацию для своего приложения. У меня есть модуль основного вида, в который я положил:

import { Route } from '@angular/router';
import { MainViewComponent } from './main-view.component';

export const MAINVIEW_ROUTE: Route = {
  path: 'home',
  component: MainViewComponent,
  data: {
    authorities: [],
    pageTitle: 'home.title'
  }
};

Я также использую метод forChild в main-view.module

imports: [CommonModule, RouterModule.forChild([MAINVIEW_ROUTE]), ChartsModule, MagDynoSharedModule, MatGridListModule]

В моем app-routing. Модуляция у меня есть это:

RouterModule.forRoot(
      [
        { path: '', children: [
            { path: '', redirectTo: 'home', pathMatch: 'full'},

Приложение не отображает main-view.component в этой розетке маршрутизатора. Без использования перенаправления загружаются другие модули.

1 Ответ

0 голосов
/ 17 октября 2019

Если вы уже импортировали MainViewModule в AppModule, я думаю, вы должны настроить AppModuleRouting следующим образом:

 RouterModule.forRoot(
      [
        { path: '', redirectTo: 'home', pathMatch: 'full'}
];

Тогда MainViewRoutingModule должен быть:

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

НаС другой стороны, если вы хотите сделать Lazy Загрузка: https://angular.io/guide/lazy-loading-ngmodules

Вы должны сделать:

AppModuleRouting

 RouterModule.forRoot(
      [
        { path: '', redirectTo: 'home', pathMatch: 'full'},
        {  loadChildren: () => import('./modules/main-view.module').then(mod => mod.MainViewModule)}
];

Тогда в MainViewModuleRouting должно быть:

RouterModule.forChild([
   { path: '', children: [
        { path: 'home', component: MainViewComponent }
   ]
]);
...