具有需要异步初始化的提供程序的引导Angular 2应用程序
我想将Angular 2应用程序配置保存在一个单独的config.json文件中,该文件在应用程序启动时加载 我计划通过ConfigService提供配置数据。但它需要先从文件中获取数据,然后其他组件才能请求它 我的应用程序当前是这样引导的:具有需要异步初始化的提供程序的引导Angular 2应用程序,angular,bootstrapping,Angular,Bootstrapping,我想将Angular 2应用程序配置保存在一个单独的config.json文件中,该文件在应用程序启动时加载 我计划通过ConfigService提供配置数据。但它需要先从文件中获取数据,然后其他组件才能请求它 我的应用程序当前是这样引导的: import { NgModule } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { FormsModule } from
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。或者在应用程序启动时初始化它,但让任何消费者等待,直到加载完成。以下高级别可能会起作用:
ShellComponent
中
<div *ngIf="ready">
<app-component></app-component>
</div>
ShellComponent
将在ngOnInit()
中调用ConfigService
。在回调中,当ConfigService
返回配置时,将ready
设置为true
如果您将逻辑放入服务的构造函数中,那么它将在应用程序引导或组件启动之前执行,而不是引导
AppComponent
,而是引导ShellComponent