【发布时间】:2017-12-28 11:56:40
【问题描述】:
现在,对于我的应用程序的每一次溃败,我都在加载确切的模块。这是我的做法:
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 in app.module.ts 就像这样:
const BASE_COMPONENTS: any[] = [
HeaderComponent,
FooterComponent,
MenuComponent
];
@NgModule({
imports: [
BrowserModule,
AppRoutingModule
],
declarations: [
AppComponent,
...BASE_COMPONENTS
],
bootstrap: [ AppComponent ]
})
- 我的
SiteIndexComponent和其他延迟加载的组件哭诉他们不知道HeaderComponent, FooterComponent, MenuComponent并要求声明它们。
但是!
如果我在SiteIndexModule 和SiteAccountModule 中都声明HeaderComponent, FooterComponent, MenuComponent - 这些哭泣是HeaderComponent, FooterComponent, MenuComponent 在两个地方声明并要求在上面包含SiteIndexModule 和SiteAccountModule 的任何模块中声明
附:如果我仅在 SiteIndexModule 中声明 HeaderComponent, FooterComponent, MenuComponent 并且不通过 SiteAccountModule 使用这些 - 一切都很好。问题只是当我想在几个延迟加载的模块中使用HeaderComponent, FooterComponent, MenuComponent 时。
我该如何解决我的问题?
谢谢
【问题讨论】:
标签: angular angular-router-loader