我什么都累了,但只有这个项目会发生。我使用了相同的路由代码,但是默认路由不起作用。我需要修复代码还是需要修复其他地方?
此代码位于 app.moules.ts 中:
export const AppRoutes: Routes = [
{
path: '',
redirectTo: '/login',
pathMatch: 'full'
}, {
path: '',
component: AdminLayoutComponent,
children: [
{
path: 'main',
component: MainComponent,
data: {
breadcrumb: 'Main',
status: true
}
}, {
path: 'userterminal',
loadChildren: './userterminal/userterminal.module.ts#UserTerminalModule'
}, {
path: 'userslogin',
loadChildren: './user-login/userlogin.module.ts#UserloginModule'
}, {
path: 'cameraconfig',
loadChildren: './camera-config/camera-
config.module.ts#CameraConfigModule'
}
]
}, {
path: '',
component: AuthLayoutComponent,
children: [
{
path: 'authentication',
loadChildren: './authentication/authentication.module#AuthenticationModule'
}, {
path: 'error',
loadChildren: './error/error.module#ErrorModule'
}, {
path: 'login',
component: LoginComponent,
}, {
path: 'cameraLogin',
component: CamLoginComponent
}
]
}, {
path: '**',
redirectTo: 'error/404'
}
];
答案 0 :(得分:0)
在“路线”中找到的第一条空路线将重定向到/login
。
使用children
时,意味着您的父组件拥有自己的router-outlet
。
我假设您的LoginComponent位于路由的基础,因此path
也应位于路由的根。像这样:
export const AppRoutes: Routes = [
{
path: '',
redirectTo: '/login',
pathMatch: 'full'
},
{
path: 'main',
component: AdminLayoutComponent,
children: [
{
path: '',
component: MainComponent,
data: {
breadcrumb: 'Main',
status: true
}
},
{
path: 'userterminal',
loadChildren: './userterminal/userterminal.module.ts#UserTerminalModule'
}
]
},
{
path: 'login',
component: LoginComponent
}
];
使用这样的结构,当您使用重定向时,它将找到路径,因为它位于根目录。
使用,您可以成功登录后导航到main
。
请记住,如果您正在使用子代,则父组件示例AdminLayoutComponent
必须具有一个router-outlet
才能将其子代装入内部。