现在,对于我的应用程序的每一次溃败,我正在加载确切的模块。这是我的做法:
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
在几个延迟加载的模块中使用时。
我该如何解决我的问题?
谢谢