2017-01-16 5 views
1

angular1にはプロバイダ用のトークンのタイプのみがありました。 angular2では、私が見たすべての例はクラストークンを使用しているようです。たとえば、DIの正しいトークンタイプは何ですか

class Car {} 

var injector = ResolveInjector.resolveAndCreate([ 
    { provide: Car, useClass: Car }, 
      ^^^ 
    { provide: Engine, useClass: Engine } 
]); 

有効なトークンタイプは何ですか? TypeScriptのデータ型やJavaScriptのデータ型に基づいていますか?依存関係を解決するときは、uses metadataとなります。有効なトークンタイプはメタデータ内で有効なトークンタイプですか?

答えて

1
+0

おかげで、どのドキュメントからObject'トークンが_Using '約OpaqueTokenは、より良いエラーメッセージを提供するので、 'Object'をトークンとして使うのが好ましいです._? –

+0

申し訳ありませんが、この文章を理解できません。これまでの文章では、 "OpaqueToken"は文字列を使うのが好ましいと言われています。これは、OpaqueTokenが宣言されているソースを指すことができ、間違ったインポートがエラーの原因となるため、意味があります。文字列は、グローバル定数が使用されていない場合に複製され、文字列が1か所で変更された場合、他の文字列では忘れられる可能性があります。 –

+0

https://github.com/angular/angular/issues/13944 –

関連する問題