2017-07-18 8 views
0

私のアプリケーションでは、実行時設定(ドッカーアーキテクチャ)が必要なので、Angularの環境メカニズムに依存することはできません。 )私は別のコンポーネントのnngOnInit(中に私の設定にアクセスしようとするまで、これがうまく私のアプリのランタイム設定を実装するには?

@Injectable() 
export class ConfigService { 

    config; 

    constructor(private http: Http) { 
    this.loadConfig(); 
    } 

    loadConfig() { 
    this.http.get('./../../../assets/config.json') 
     .map((res: Response) => res.json()) 
     .catch((error: any) => Observable.throw(error.json().error || 'Server error')) 
     .subscribe(data => { 
     this.config = data; 
     }) 
    } 
} 

は、だから、私はこのように読んで私自身の設定ファイルを作成した設定は一度に未定義ました。 私は、観察可能なものが戻らなかったことに気付きました。

  1. ランタイム構成可能性を解決するためのより良いアプローチはありますか?
  2. 他の場所で使用する前に、設定がロードされたことを確認するにはどうすればいいですか?私はブール値 "isLoaded"のような解決策を考えていましたが、 "config"が未定義であるかどうかをチェックしていましたが、より良い方法が必要です。

すべてのアイデアは、この問題を解決するために角度のAPP_INITIALIZER定数にフックする方法を説明します

+0

この方法で問題を解決しました。https://stackoverflow.com/questions/41619443/how-to-call-an-rest-api-while-bootstrapping-angular-2-app – Tim

答えて

関連する問題