javascript - 根据配置加载角度分量
问题描述
我正在尝试使用 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 是组件 Configuration before bootstrapping 返回一个只有 {B,D} 的数组,因此只有 B & D 被引导并显示在 page 中。
提前感谢您的回复。
解决方案
我们也在研究类似的路径并尝试实现相同的目标!
由于entryComponents数组必须在构建之前填充,因此可能无法使用服务加载数组。
此外,必须在构建之前填充此数据以使 AOT 工作!
如果我们在这方面取得任何进展,会及时通知您!
推荐阅读
- javascript - HEROKU 错误:ENOENT:没有这样的文件或目录,stat '/app/distpublic/index.html'
- android - 保持DatabaseHelper打开或关闭并在android应用程序上重新打开更好吗?
- firebase - Firebase 用户身份验证管理问题
- javascript - 如何在通过 React useHistory 传递道具时有条件地渲染道具并检查未定义的道具?
- javascript - 如何检查是否为 chrome 启用了本机通知?
- kubernetes - 如何在不同的存储类之间复制 PVC?
- mongodb - 比较嵌套数组中的对象 - mongoDB
- javascript - 将 Javascript 日期从日期值转换为日期 obj
- python - 如何从 CNN 的多个灰度图像中创建三波段组合图像
- r - R 编程中的 tryCatch