嗨,我的应用程序中有以下路线:
const routes : Routes = [
{path : '', redirectTo: '/login',pathMatch: 'full'},
{path: 'system', loadChildren: './system/system.module#SystemModule'},
{path:'**',component:NotFoundComponent}
];
@NgModule({
imports:[RouterModule.forRoot(routes,{
preloadingStrategy:PreloadAllModules
})],
exports:[RouterModule]
})
但是当我运行应用程序时,它会路由到未找到的页面组件。
如果我在系统路线上尝试这样做:
const routes : Routes = [
{path:'',component:SystemComponent,canActivateChild:[AuthGuard],children:[
{path:'bill',component:BillPageComponent},
{path:'records',component:RecordsPageComponent},
{path:'planning',component:PlanningPageComponent},
{path:'history',component:HistoryPageComponent},
{path:'history/:id',component:HistoryDetailsComponent}
]},
{path:'**',component:NotFoundComponent}
];
@NgModule({
imports:[
RouterModule.forChild(routes)
],
exports: [RouterModule]
})
它可以正常工作,但在顶层路线上则不能。 请告知。
答案 0 :(得分:0)
您有
{path : '', redirectTo: '/login',pathMatch: 'full'}
用于默认路由。但是,login
路由未定义。这就是为什么您的应用程序被重定向到NotFound页面的原因
答案 1 :(得分:0)
也请在您的路线中添加/login
。因为找不到登录路径。
const routes : Routes = [
{path : '', redirectTo: '/login',pathMatch: 'full'},
{path: 'login', loadChildren: './login/login.module#LoginModule'},
{path: 'system', loadChildren: './system/system.module#SystemModule'},
{path:'**',component:NotFoundComponent}
];