現在、レイジーローディングを使用している間に、私のすべてのプロバイダーをapp.module.ts
にロードします。これは私のアプリの起動時間をスピードアップしないため、 50人のカスタムプロバイダーのようなものがある(私を裁かないでください))。レイジーローディングとプロバイダーの戦略
したがって、実際にすべてのアプリケーションをロードする必要がある場合、またはロードする必要がある場合は、それらのアプリケーションのみを使用する必要があるかどうかを確認する必要があります。
私が実際に使用している場所でのみプロバイダを読み込むほうがよいと思います。
しかし、このような場合には、以下の構文を解決する方法で、すべての後、私にとっては明らかではない。
レッツは、私が自分自身のモジュールと3つのプロバイダーとの3つのページ(A、BおよびC)を持っていると言います(1,2および3)。
A use 1
B use 1, 2, 3
C use 1, 2
私は1はすべてのアプリケーション全体で使用されているので、私は3以来
app.module.ts
でそれを宣言しなければならない、推測ページBにのみを使用している、私は私がしなければならないと思いますそれだけで宣言してください
B.module.ts
しかし、約2?
B.module.ts
とC.module.ts
の両方で宣言すれば、同じプロバイダーの「メモリ」を共有することができます(プロバイダに値が含まれていれば、BとCの両方に同じオブジェクトが表示されるはずです)。単純にプロバイダを「いつものように」注入し、残りの部分を実行するだけですか?
任意の助けを事前にThxを、本当に
UPDATE
ない私が正しく角度のドキュメントを理解しそれが目標だ場合、プロバイダがためにロードする必要があることを確認いただければ幸いですすべてのアプリの幅広い権利ですか?
は、あなたのプロバイダ2とその依存関係でBとCのモジュールinculdesことをintenciate共有モジュールを作成する必要があります
https://angular.io/guide/ngmodule-faq#q-component-scoped-providers
興味深いことに、これは宣言のない共有モジュールでしょうか? @NgModule({providers:[2]、exports:[2]}) –
のようなものが動作するかもしれませんが、複数のモジュールで必要なモジュールでうまく動作します。 – Flow
しようとすると、あなたに教えてくれるでしょう –