我想将我的Angular 2 app配置保存在一个单独的config.json文件中,该文件在应用程序启动时加载。
我计划通过ConfigService提供配置数据。但它需要在任何其他组件可以请求之前从文件中获取数据。
我的应用程序目前正在自行启动:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppComponent, routes } from './app';
...
@NgModule({
imports: [
BrowserModule,
FormsModule,
HttpModule,
routes
],
declarations: [
AppComponent
],
[
ConfigService,
...
],
bootstrap: [AppComponent]
})
export class AppModule {}
platformBrowserDynamic().bootstrapModule(AppModule)
所以我正在寻找一种在应用程序引导之前如何初始化ConfigService的方法。或者也许在应用程序引导时启动它,但让任何消费者等到它完成加载。
答案 0 :(得分:0)
高级别可能有效:
将当前应用包含在具有以下模板的ShellComponent
<div *ngIf="ready">
<app-component></app-component>
</div>
ShellComponent
会在ConfigService
中致电ngOnInit()
。当ready
返回配置时,在回调集true
到ConfigService
。
而不是引导AppComponent
,而是引导ShellComponent
。