angularroutes

Angular router-outlet in children component not showing anything


app.component.html:

<router-outlet></router-outlet>

app.routing.module.ts

{
path: 'app',
component: MainLayoutComponent,
children: [
  {
    path: 'travels',
    loadChildren: () => import('./modules/travels/travels.module').then(m => m.TravelsModule),
  },
],

},

main-layout.component.html

<router-outlet></router-outlet>

MainLayoutComponent is loaded correctly, because if I write "console.log("TEST") it is printed correctly in the console but the children component not loaded.

travel-.module.ts

import { NgModule } from '@angular/core';

import { TravelsRoutingModule } from './travels-routing.module';
import { SharedModule } from 'src/app/shared/shared.module';

import { TravelsListComponent } from './travels-list/travels-list.component';

const SHARED_COMPONENTS = [TravelsListComponent];

@NgModule({
  declarations: [...SHARED_COMPONENTS],
  imports: [TravelsRoutingModule, SharedModule],
})
export class TravelsModule {}

travel-routing.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { TravelsListComponent } from './travels-list/travels-list.component';

const routes: Routes = [
  {
    path: '',
    component: TravelsListComponent,
  },
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule],
})
export class TravelsRoutingModule {}

Solution

  • I found the solution:

    PROBLEM: MainLayoutComponent is declared into SharedModule and not in AppModule.

    But in SharedModule not imported RouterModule