[英]Angular: Lazy load a child module and inject its main component in the View of the Parent home component
我有一個父模塊,在這里我懶於加載子模塊
如您所見,我沒有直接導入我的子模塊,但是我在路由文件下懶洋洋地加載了它:
父模塊:
@NgModule({
imports: [
CommonModule,
ParentRoutingModule,
],
exports: [
ParentRoutingModule
],
declarations: [ParentComponent]
})
export class ParentModule { }
父路由模塊:
const parentRoutes: Routes = [
{path: '', component: ParentHomeComponent},
{
path: '',
loadChildren: () => ChildModule,
canLoad: [ChildModuleGuard]
},
];
@NgModule({
imports: [
CommonModule,
RouterModule.forChild(parentRoutes)
],
declarations: [],
exports: [
RouterModule
]
})
export class ParentRoutingModule { }
在我的主要ParentModule組件中; 在ParentHomeComponent我想注入我ChildHomeCOmponent認為,像這樣的:
<p>
Parent-home works!
</p>
<app-Child-home></app-Child-home>
但這引發了一個錯誤,告訴您ChildHomeComponent不是ParentModule的一部分(因為我沒有直接導入它);
如何處理?
我希望如果模塊已加載 ,則我的孩子家庭組件會顯示在父家庭組件下
建議??
這不是Angular中的延遲加載方式。
非延遲加載的模塊無法訪問延遲加載的模塊中的組件。
這是應該延遲加載子模塊的方式:
const parentRoutes: Routes = [
{path: '', component: ParentHomeComponent},
{
path: '',
loadChildren: 'path/ChildModule#ChildModule',
canLoad: [ChildModuleGuard]
},
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.