1
votes

I am new to Angular. I am using Angular 7 and doing a simple routing. After Login page, I want to display a home page. Login is a part of app-root component and in home page I am showing header and sidenav but I am not able to route to home page.

app-routimg.module.ts

const appRoutes: Routes = [
  {
    path: '',
    loadChildren: './login/login.module#LoginModule'
},
  {
    path: 'dashboard',
    loadChildren: './dashboard/dashboard.module#DashBoardModule',

}
];
  @NgModule({
    imports: [RouterModule.forRoot(appRoutes)],
    exports: [RouterModule],
   // providers: [AuthGuard]
}

dashboard-routing.modul.ts

const appRoutes: Routes = [
  {
    path: 'dashboard',
    component: DashBoardComponent ,
    children: [
         {
             path: '',
            redirectTo: 'home'
        },
        {
            path: 'home',
            loadChildren: './home/home.module#HomeModule'
        },

    ]
}
];
@NgModule({
  imports: [
    RouterModule.forChild(appRoutes)
  ],
  exports: [
    RouterModule
  ]
})

login.component.ts

onSubmit() {

       this._router.navigate(['/home']);
      }
}

enter image description here

core.js:15724 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'home' Error: Cannot match any routes. URL Segment: 'home'

2
Please show your routuing configurationAshish Ranjan
did u placed <router-outlet></router-outlet>madhavsai bhushan

2 Answers

1
votes

you must use this code :

this._router.navigate(['/dashboard/home']);

if it doesn't work, in "dashboard-routing.modul.ts" file use path: ' ', instead of
path: 'dashboard',.

1
votes

it should be like this in your dashboard-routing-module.ts:

const routes: Routes = [{
  path: '',
  component: DashBoardComponent,
  children: [
   {
      path: '',
      redirectTo: 'home',
      pathMatch: 'prefix'
   },
   {
      path: 'home',
      component: HomeComponent
   }
 ]
}];