ユースケースでの使用方法を理解するのに苦労してngroute
おり、間違った方向からアプローチしているに違いないと考えています。
ユースケースは次のとおりです
- ユーザーが Web ページに識別子を入力する
- Angular コントローラは
ng-click
イベントに応答し、識別子を渡してサーバー側の呼び出しを行います - 識別子がサーバー側コードに認識されている場合、識別子に関連付けられた詳細を示すビューが表示されます
- 識別子がサーバー側のコードに認識されていない場合は、別のビューが表示され、顧客は詳細を追加できます。
サーバー側の呼び出しを実行するために使用するサービスが$resource
あり、識別子がシステムに認識されているかどうかに応じて、 を設定し$location.path
ました。
これを考慮して、正しい状況で現在のビューを表示しています。
しかし ....
サーバーからデータを正常に取得すると、ビューがレンダリングされますが、取得したばかりのデータが含まれていません。2 つのビューには異なるコントローラーがあります。2 つのコントローラーのコントローラーが異なっていると想定している$scopes
ため、ビューに正しくデータが取り込まれていません。それは正しい仮定ですか?
そうである場合、あるコントローラーで取得した結果を、別のコントローラーに関連付けられたビューで行われる処理と共有するにはどうすればよいですか。サービス自体にキャッシュしてサービスを共有するか、 にプッシュするかを考えました$rootscope
が、どちらもハックに感じられ、完全に間違ったアプローチを取っていると感じさせられます。
この種のユースケースに対処する通常の方法は何ですか?