0

検索ボックスと結果のリストを備えたシンプルなアプリがあります。検索ボックスには独自のコントローラーSearchCtrlがあり、結果のリストには別のコントローラーがありDocListCtrlます。はSearchCtrl、ユーザーが送信してDocListCtrlリッスンするとイベントを発行し、結果を更新します。ユーザーがクエリを入力して送信すると問題なく動作しますが、私の問題は、ユーザーが「/app/search?q=foo」などの URL をコピー/貼り付けすると、準備が整う前に検索イベントがブロードキャストされるDocListCtrlため、結果は更新されません。

一般に、あるコントローラーが別のコントローラーへの依存関係を宣言する方法はありますか? 最終的にロードされたときに参照できるSearchCtrlデータをどこかに保持する必要がありますか?DocListCtrl

4

1 に答える 1

1

既にお気づきのように、コントローラーのインスタンス化の順序が重要になるような方法でアプリを設計するべきではありません。より良いアプローチは、サービスを使用して検索結果を管理することです。これは、両方のコントローラーに注入できます。

サービス例: https://stackoverflow.com/a/15390245/215945

于 2013-08-07T18:27:27.343 に答える