私のアプリケーションでは、ListComponentとDetailsComponentの2つのコンポーネントとサービスMyModuleServiceを持つモジュールがあります。アングル2サービス依存性注入問題
ユーザーがListComponetにアクセスすると、サーバーからリストを取得し、サービスのListプロパティ(キャッシュとして使用)に追加します。
ユーザーがリスト内の項目をクリックすると、その項目の詳細ページに移動します。
詳細なコンポーネントでは、次と前へのリンクを持つナビゲーションがあります。サービスのリストプロパティを使用して、次と前の項目を決定します。
ユーザーがリストページに戻ると、リストはキャッシュから、つまりサービスのListプロパティからレンダリングされます。
マイリストコンポーネントには、ユーザーが検索条件を指定し、その条件に一致するサーバーからアイテムを取得できる検索フォームもあります。
上記のMyModuleへの参照を持たない他のルートに移動してリストページに戻ると、MyModuleServiceがリフレッシュされないということは、それが破壊されなかったことを意味しますサービスインスタンス
おそらく、MyModuleServiceがグローバル依存性注入コンテキストに追加されているためです。
誰でもガイドできますが、サービスの範囲をモジュールに限定するにはどうすればよいですか?そのため、別のルートに移動すると、MyModuleServiceインスタンスが破棄されます。
DIスコープを1つのモジュールに限定することはできません。あなたが行うことができることは、あなたが到着した場所からListComponentまでのルートのURLを読み込み、リフレッシュされているかどうかに基づいてこれに基づいて決定します。 – Picci