2017-10-25 6 views
1

私は、環境変数(普通のオブジェクト)をサービスに注入する際にInjectionTokenを使用しました。 Dependency Injectionでトークンを使用する理由と方法は多少混乱しています。 「InjectionTokenを使用するタイミング」と「InjectionTokenを使用すべき理由」としてフレーズを吸い取るためにgoogleを検索しましたが、InjectionTokenの必要性を説明する記事はまだありません。なぜanger4内の依存性注入トークンを使用するのですか

DIの同じ値に評価される2つのプリミティブ間の競合を解決するために、一般的にトークンが使用されます。その1つをインジェクタで無視します。しかし、主題はまだ私には非常に曖昧です。

なぜDIでトークンを使用する必要がありますか? またはいつDIにトークンを使用する必要がありますか? これに関する記事へのリフレッシュは、また審理されるでしょう。

+0

https://codecraft.tv/courses/angular/dependency-injection-and-providers/tokens/ – Claies

答えて

0

通常、注入トークンとしてclass/typeを使用しますが、ほとんどの場合動作します。

ただし、クラス/タイプを公開したくない場合や、単純にrawオブジェクト/配列/プリミティブ値/関数/独立インタフェース実装を挿入したい場合もあります。これらの場合、解決策は(それに対応する型/クラスがないので)注入トークンを使用することです。それは、クラス/型による一意の名前とルックアップによるルックアップのようなものです。