9

複数のブラウザウィンドウで実行される複雑なWebアプリを設計しています。AngularJSを使用します

(1つのアプリのように見える/感じる必要があることに注意してください。複数のブラウザーウィンドウに分散しているだけです)

Javascriptを使用すると、親が他のウィンドウへの参照を保持している限り、親ウィンドウは他のウィンドウのオブジェクトを参照できます。これらのオブジェクトには、ネイティブアクセサーまたはjQueryなどからアクセスできます。

マルチウィンドウアプリは、以前にAngularで行われたものですか?そのようなアプリはどのようにスケーラブルになるように構成されますか?

(大規模なアプリのテンプレートである大きな「angular-app」リファレンスアプリを見たことがありますが(それを機能させることができれば!)、複数のブラウザーウィンドウを使用しても何も見つかりませんでした...

4

1 に答える 1

6

おそらくあなたが探している答えではありませんが、AngularJSでの私の経験から、Angularのアンチパターンであなたが探しているもののようです。具体的には、Angularはスコープに大きな影響を与えるため、コントローラーとビューはそれ自体についてのみ「認識」します。同じページ上の他のコントローラー/ビュー、または他のウィンドウなどは、必ずしも相互に参照しているとは限りません。むしろ、ページ上のアプリケーションには、$ emit()、on $()を使用したメッセージバスとして機能できる$rootScopeがあります。

したがって、これは、どのウィンドウがどのイベントを取得するかを把握する集中型メッセージバスを備えた緩く結合された部分と見なすことができます。次に、各部分(アプリ/コントローラー/ビュー)はこれらのイベントに応答しているだけです。

注:各AngularアプリをiFrameでホストすることにより、モバイルアプリで複数のUIWebViewをシミュレートするテストアプリがあり、このアプローチを正常に使用しました。非常に構成可能で、非常にテスト可能です。HTH

于 2013-01-11T22:01:47.760 に答える