2016-09-23 9 views
4

私たちはangular2を使った最初のプロジェクトです。サービスの提供について質問があります。NgModuleとコンポーネントのサービスを提供することとの違い

私が知っているように、のプロバイダをアプリに宣言するには2通りの方法があります。 @NgModuleタグで、または@Componentタグでローカルに宣言できます。

私が知る限り、2つの方法の唯一の違いは、提供範囲です。一度アプリを幅広くすると、コンポーネント一度だけ幅広くなります。 これから私は、スコープを小さく保つために、特定のコンポーネントにローカルなサービスを(サービスの使用状況に応じて)ほとんど提供することを好むべきだという結論を出します。

私が気づいていない2つの宣言方法に違いはありませんか?

答えて

4

コンポーネントにローカルのサービスを提供する場合、SAMEサービスはありません。彼らはすべて同じタイプのサービスを手に入れますが、同じサービスではありません。

あなたのAppModuleにそれらを提供すると、アプリケーション全体のシングルトンとして作成されます。

+0

ありがとう、それは今実際に違いがあります。 –

関連する問題