DI - 依存性注入
角度は、コンポーネントクラスの新しいインスタンスを作成すると、それは、上記のようheroService、に依存するサービスまたはコンポーネントの他の依存性を決定するためにコンポーネントクラスコンストラクタを見ることであろう
角度は、サービス上のコンポーネントに依存するが、それは最初のインジェクタは、サービスの既存のインスタンスということであったかどうかについての主張になることを発見した場合。要求されたサービスがまだ存在しない場合は、インジェクタは、登録されたサービスプロバイダを行う前に使用し、インジェクタにそれを追加し、角にサービスバックを置きます
すべての要求されたサービスとリターンが解決すると、これらのサービスの角度は、例えば、パラメータを使用することができ、組立のコンストラクタを呼び出します
サービスを提供するために、
使用するすべてのサービスのために、あなたは、少なくとも一つのベンダーを登録する必要があります。
①プロバイダとして登録され、自分のために、独自のメタデータ内のサービスには、どこでも自分自身が利用可能にできるようになります
サービスルートを提供する際に、角が単一の共有インスタンスを作成し、任意にそれを注入は、そのクラスを希望しました。@Injectableセル方式に登録このデータプロバイダは、角度の大きさは、サービスを利用したことがない人を取り除くことによって最適化することができることができます
②プロバイダが特定のモジュールに登録することができ、サービスの同じインスタンスがNgModuleのすべてのコンポーネントに利用できるようになります
③また、コンポーネントレベルの登録プロバイダの新しいインスタンスでは、コンポーネントのそれぞれの新しいインスタンスのためにこのサービスを提供します