未捕获(承诺):错误:无法匹配任何路由。 URL段:角度

时间:2019-05-11 08:10:12

标签: angular typescript angular-ui-router

我是Angular的新手。我正在使用Angular 7并进行简单的路由。 登录页面后,我要显示一个主页。登录是app-root组件的一部分,在主页中,我显示标题 sidenav ,但是我无法转到主页。

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错误错误:未捕获(承诺中):错误:无法匹配   任何路线。 URL段:'home'错误:无法匹配任何路由。网址   区隔:“家”

2 个答案:

答案 0 :(得分:1)

您必须使用以下代码:

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

如果不起作用,请在“ dashboard-routing.modul.ts”文件中使用路径:“”,而不是
 路径:“仪表板”,

答案 1 :(得分:0)

在您的dashboard-routing-module.ts中应该是这样的:

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