我是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']);
}
}
core.js:15724错误错误:未捕获(承诺中):错误:无法匹配 任何路线。 URL段:'home'错误:无法匹配任何路由。网址 区隔:“家”
答案 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
}
]
}];