2017-07-04 4 views
2

私はどのように非クラスのインスタンスを提供し、次に注入するかに関するドキュメントに従っています。特に私はアプリケーションの広い定数を提供したいと思います。 The docsこれにはInjectionTokenを使用してください。説明は非常に裸です。最初の部分を考慮してください。角インジェクショントークン; 「app.config」とは何ですか?

app.config.ts

import { InjectionToken } from '@angular/core'; 

export let APP_CONFIG = new InjectionToken<AppConfig>('app.config'); 

'app.configを'文字列のポイントは何ですか?私がここに見ているInjectorTokenのすべての例は、それを使用していますが、それが何を意味するのかについては触れていません。

export class InjectionToken<T> extends OpaqueToken { 
    constructor(desc: string) { super(desc); } 
       ^^^^ 

    toString(): string { return `InjectionToken ${this._desc}`; } 
} 

それはそれはtoString方法で見ますと、デバッグに使用することができます。

答えて

1

これは、パラメータ名からも分かるように説明があります。

は、それはおそらく、また、コンストラクタで説明文字列を受け取りSymbol後にモデル化されています

パラメータ

  • 説明 - オプションオプション、文字列を。シンボル の説明で、デバッグには使用できますが、シンボル自体にはアクセスできません。

InjectionTokenを導入した理由を理解することはAngular 2 OpaqueToken vs Angular 4 InjectionTokenを参照してください。

+0

私は理解しがたいです。つまり、 '' app.config''をアプリ全体でユニークに保つ必要がありますか? –

+0

'app.config'は何を求めていますか? –

+0

私は 'export let APP_CONFIG = new InjectionToken ( 'app.config');'を意味します。 param。 –

関連する問題