2017-02-10 4 views
2

複数のJohn Papaの非常に良いcourse on Angular 2では、プロバイダーを@Componentsではなく@NgModuleに登録することを経験則としてお勧めします。これは、プロバイダーを他のコンポーネントから隠す必要がほとんどないためです。すべてのプロバイダがモジュールレベルで登録される必要があるAngular 1では、これに関する議論はありません。しかし、どのような状況では、この経験則を破ることを正当化するだろうか?角型モジュールまたはコンポーネントにプロバイダーを登録する

答えて

3

各コンポーネントに登録すると、コンポーネントのインスタンスが作成されるたびにnew object for that serviceが作成されます。したがって、すべてのコンポーネントが独自のサービスを持つ必要がある場合は、それらをコンポーネントに提供します。

singleton serviceが必要な場合は、モジュールで提供し、そのモジュールのすべてのコンポーネントが同じサービスインスタンスを取得します。

関連する問題