现在,对于我的应用程序的每一次溃败,我正在加载确切的模块。这是我的做法:
const routes: Routes = [
{
path: '',
loadChildren: './pages/site-index/site-index-routing.module#SiteIndexRoutingModule'
}
{
path: 'account',
loadChildren: './pages/site-account/site-account-routing.module#SiteAccountRoutingModule'
}
];
如果我声明以下组件:HeaderComponent, MenuComponent, FooterComponent像app.module.ts这样:
const BASE_COMPONENTS: any[] = [
HeaderComponent,
FooterComponent,
MenuComponent
];
@NgModule({
imports: [
BrowserModule,
AppRoutingModule
],
declarations: [
AppComponent,
...BASE_COMPONENTS
],
bootstrap: [ AppComponent ]
})
- 我
SiteIndexComponent和其他延迟加载的组件哭着说他们不知道HeaderComponent, FooterComponent, MenuComponent并要求声明它们。
但!
如果我HeaderComponent, FooterComponent, MenuComponent在SiteIndexModule和中声明SiteAccountModule- 这些哭泣HeaderComponent, FooterComponent, MenuComponent在两个地方声明并要求在上面包含SiteIndexModule和的任何模块中声明SiteAccountModule
PS如果我HeaderComponent, FooterComponent, MenuComponent只声明SiteIndexModule并且不使用这些SiteAccountModule- 一切都很好。问题只是当我想HeaderComponent, FooterComponent, MenuComponent在几个延迟加载的模块中使用时。
我该如何解决我的问题?
谢谢