我正在尝试使用Angular 5创建一个仪表板,我创建了几个显示数据的组件,我正在引导它们,他们调用服务,并相应地显示数据,现在问题是,我不知道我想通过引导加载所有小部件,在应用程序引导之前,我想调用一个服务,这将提供一个需要加载的组件数组,我想只引导那些,我给了APP_INITIALIZER函数一个镜头,我可以调用提供配置数组的服务,但是我不确定如何在app.module.ts中填充entryComponent数组,
这是我尝试过的,componentConfigService在加载组件之前打印jsonConfigResponse。
@NgModule({
declarations: [
AppComponent,
comp1,
comp2,
comp3
],
imports: [
BrowserModule,HttpClientModule
],
providers: [comp1Service , ComponentConfigService,
{
provide: APP_INITIALIZER,
useFactory: (configService: ComponentConfigService) => function() { return configService.getWidgetsToLoad()},
deps: [ComponentConfigService],
multi: true
}],
entryComponents: [],
bootstrap: [Comp1,comp2]
})
我需要帮助知道如何在引导之前读取配置并填充entryComponent [],以便只有那些元素被引导并显示
例如:A,B,C,D是组件 引导前的配置返回仅包含{B,D}的数组 所以只有B& D得到引导并显示在页面中。
提前感谢您的回复。
答案 0 :(得分:0)
我们也在研究类似的路径,并努力实现同样的目标!
由于必须在构建之前填充 entryComponents 数组,因此可能无法使用该服务加载数组。
此外,必须在构建之前填充此数据以使AOT正常工作!
如果我们就此发展任何事情,请随时发布!