如何为多个子组件配置 Angular 模块

How to configure Angular module for multiple Child components

在我的 Angular 项目中,我需要为 Admin 创建一个单独的部分并将所有组件保留在那里...现在我为此创建了一个单独的模块但无法根据路由...

我的代码:组件

  1. 管理配置文件组件
  2. 管理员订阅组件

现在在模块上... 创建管理模块和 routing.module.ts.

 const routes: Routes = [
  { path: '/profile', component: ProfileComponent },
  { path: '/subscription', component: SubscriptionComponent },
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule]
})
export class adminRoutingModule { }

现在 app.module.ts 我将路由配置为:

path: 'admin',
    loadChildren: () =>
      import('./modules/admin/admin.module').then(
        (m) => m.adminModule
      ),
    canActivate: [AuthGuard],

我要的结果:

url: admin/profile => load profile component
url: admin/subscription => load subscription component.

请指导。

您可以在您的应用程序路由主文件中添加管理路由并添加模块,如下所示:

app-routing.module.ts

...
{
    path: 'admin',
    loadChildren: 'app/modules/admin/admin.module#AdminModule',
    canActivate: [AuthGuard],
    canActivateChild: [AuthGuard], // Add this if you have authguard for child routes as well.
}
...

admin.routing.module.ts

...
{
    path: '',
    component: LayoutComponent,
    children: [
        { path: '', redirectTo: 'profile', pathMatch: 'full' },
        { path: 'profile', component: ProfileComponent },
        { path: 'subscription', component: SubscriptionComponent },
        { path: '**', redirectTo: '' }
    ]
}
...

LayoutComponent.html

<main>
<router-outlet></router-outlet>
</main>

我希望你明白我的意思,如果没有,请评论你的问题;会很乐意帮忙的。