1

NewServiceを作成します。そして、私はすべてのアプリケーションからそれを呼び出す可能性を持っていたいですか?ここでは、すべてのアプリで表示されるはずのサービスを挿入する必要がありますか? (angular2)

私はSharedModuleでそれを注入する必要があり

(すべての再利用可能なモジュールをエクスポートモジュール)またはAppModuleで(自分のアプリケーションのメインモジュール)

@NgModule({ 

    providers: [ 
    // Here? 
    ] 
}) 
+0

角度のあるブートストラップ方式の方が最適でしょう – toskv

+1

そう思わないでください。これは 'NgModule'が導入される前に有効でしたが、特別な理由がなければ' bootstrap'に追加することを提案しません。 –

+0

@GünterZöchbauer良い点。 :) – toskv

答えて

3

あなたが直接AppModuleかにそれを追加する場合それは問題ではありません。モジュールが遅延ロードされていない限り、フィーチャモジュールに転送されます。

レイジーロードされたモジュールには独自のルートスコープがあり、そこに追加されたプロバイダはレイジーロードされたモジュールのみに表示されます。

+0

SharedModuleにサービスを追加するのは良い方法ですか? –

+0

ディレクティブ、パイプ、サービスをまとめて再利用可能な機能を構築し、このモジュールを 'imports:[...]'に追加すると、この機能を使います。これは(遅延ロードに加えて) 'NgModule'の意図された使用です。 –

+0

したがって、私はNewServiceをエクスポートに追加する必要があります:[...] SharedModuleで、SharedModuleを別のモジュールにインポートします。 他のモジュールでNewServiceを使用することはできませんか? 他に何ができますか? –

関連する問題