Angular 延迟加载模块路由作为组件的子级

Angular 延迟加载模块路由作为组件的子级,angular,Angular,问题 我有两个组件,它们是所有其他路线的父级。但是我需要将延迟加载添加到我的应用程序中。因此,我试图找出如何将模块作为父组件的子组件延迟加载,父组件的唯一目的是充当模板 示例 我有app.routing.ts,它包含两条路线 export const routes: Routes = [ { path: '', redirectTo: 'home', pathMatch: 'full'}, { path: '', component: PublicComponent, data:

问题

我有两个组件,它们是所有其他路线的父级。但是我需要将延迟加载添加到我的应用程序中。因此,我试图找出如何将模块作为父组件的子组件延迟加载,父组件的唯一目的是充当模板

示例

我有
app.routing.ts
,它包含两条路线

export const routes: Routes = [
    { path: '', redirectTo: 'home', pathMatch: 'full'},
    { path: '', component: PublicComponent, data: { title: 'Public Views' }, children: PUBLIC_ROUTES },
    { path: '', component: SecureComponent, canActivate: [Guard], data: { title: 'Secure Views' }, children: SECURE_ROUTES }
];
这允许我通过一个模板控制任何安全路由,并通过另一个模板控制任何公共路由。这些模板是
PublicComponent
SecureComponent

因此,如果我们遵循
PublicComponent
的路径,我将创建
PUBLIC\u路由
,并懒散地通过该路由路径加载每个公共组件

public.routes.ts

export const PUBLIC_ROUTES: Routes = [
    { path: '', redirectTo: 'home', pathMatch: 'full' },
   { path: 'home', component: HomeComponent},
   { path: 'about', loadChildren: 'app/public/about/about.module#AboutModule' }
];
正如您在上面看到的,我正在加载HomeComponent,以便它将是应用程序中要加载的默认页面,但我希望将
AboutModule
作为PublicComponent的子级延迟加载

解释

我想我可以编写一些奇特的
*ngIf
语句来实现这一点,但最好能找到如何实现这一点。现在它应该加载
HomeComponent
,但当我转到
关于模块时,它显示了模板,但忽略了所有关于模块html的

问题


有人知道这是否可能,如果有,我在哪里可以找到一个例子?我没能做到这一点

它在控制台上显示错误?或者在网页包构建过程中?不!没有错误。它只是字面上没有从模板中的about页面加载html。但是会显示正确的页眉和页脚。我开始怀疑这是否是不可能的。我正在寻找一些确认,这样我就可以求助于*ngIf。此外,如果你认为这个问题没有答案,请投票表决,也许我们可以得到一个答案。我知道有很多人一直在试图解决这个问题。您是否在PublicComponent中添加了另一个
?其中有一个是的。