如何在router.module中将路由注册为子路由

时间:2019-12-12 10:29:01

标签: angular angular8 angular-router

我具有以下应用程序结构:

/app
  /administration
    /useradmin
      useradmin.module
      useradmin.routing.module

    administration.module
    administration.routing.module

当前,每个模块都注册自己的路由:

administration.routing.module:

RouterModule.forChild([
  { path: 'administration', component: AdministrationComponent, pathMatch: 'full' }])

useradmin.routing.module:

RouterModule.forChild([
  { path: 'administration/user', component: UserComponent, pathMatch: 'full' }])

如何修改路由模块,以使useradmin.routing.module中定义的路由成为“管理”路由的子路由?

2 个答案:

答案 0 :(得分:0)

administration.routing.module 更新为:

RouterModule.forChild([
    {
        path: 'administration',
        component: AdministrationComponent,
        children: [
            {path: 'user', component: UserComponent}
        ]
    }
]);
);

此处提供了更多详细信息 https://angular.io/guide/router#child-route-configuration

答案 1 :(得分:0)

您可以将LazyLoad用于模块。

main route的{​​{1}}模块中

app.module

然后在您的 { path: 'administration', loadChildren: () => import('./administration/administration.module').then(mod => mod.AdministrationModule), }, 中,必须声明这样的路由

administration.routing.module

然后在 const routes: Routes = [ { path: '', component: AdministrationComponent, }, { path: 'useradmin', loadChildren: () => import('./useradmin/useradmin.module').then(mod => mod.UseradminModule), }, ]; imports: [ CommonModule, RouterModule.forChild(routes) 中声明用户管理员路由

useradmin.routing.module

并在模块中添加const routes: Routes = [ { path: '', component: UserComponent, }];

相关问题