【发布时间】:2018-12-22 01:29:25
【问题描述】:
我正在创建一个仪表板应用程序,到目前为止我有两个延迟加载的模块
AuthModule 和 AdminModule
我的app-routing-module.ts 看起来像这样
const routes: Routes = [
{
path: '',
loadChildren: './auth/auth.module#AuthModule'
},
{
path: 'admin',
loadChildren: './admin/admin.module#AdminModule',
canActivate: [AuthGuardService]
},
{
path: '**',
component: NotFoundComponent
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
我的app.component.html 有一个<router-outlet></router-outlet>,应该在其中呈现上述路由。
所以这些网址可以正常工作 /auth/ 和 /admin/
在我的admin-routing.module.ts 我有以下路线
const routes: Routes = [
{
path: '',
component: AdminComponent,
children: [
{path: '', pathMatch: 'full', redirectTo: 'dashboard'},
{path: 'dashboard', component: DashboardComponent },
{path: 'users', component: UsersComponent },
{path: 'reports', component: ReportsComponent },
{path: 'booking', component: BookingComponent }
]
}
];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
这样/admin/ 路由会直接导航到/admin/dashboard/,这也很完美。
在我的admin.component.html 中,我添加了另一个<router-outlet></router-outlet>,它应该在其中呈现AdminModule 路由,所以我可以有一个侧导航栏布局。
问题是,只有 AdminModule 的默认路由 /admin/dashboard 在我尝试导航到任何其他子路由(如 /admin/users/ 或 /admin/booking/)时完美呈现在第二个 router-outlet 内,应用程序重定向到NotFoundComponent
【问题讨论】:
标签: angular routing routes lazy-loading