Angular: отложенная загрузка дочернего модуля и внедрение его основного компонента в домашний компонент View of the Parent - PullRequest
0 голосов
/ 09 мая 2018

У меня есть родительский модуль, где я ленивая загрузка дочерний модуль

Как видите, я не импортирую свой дочерний модуль напрямую, но загружаю еголениво под файлом маршрутизации:

Родительский модуль:

@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 (поскольку я не импортирую его напрямую);

Как с этим справиться ??

Я хочу, чтобы если модуль загружен , мой дочерний домашний компонент t отображается под родительским домашним компонентом

Предложения ??

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Вот как вам лениво загрузить свой дочерний модуль:

const parentRoutes: Routes = [
  {path: '', component: ParentHomeComponent}, 
  {
    path: '',
    loadChildren: 'path/ChildModule#ChildModule',
    canLoad: [ChildModuleGuard]
  },
];
0 голосов
/ 09 мая 2018

Это не то, как ленивая загрузка работает в Angular.

Модули без отложенной загрузки не могут получить доступ к компонентам из модулей с отложенной загрузкой.

...