2012-12-25 14 views
8

Wir sind eine komplexe Webanwendung entwerfen, die in mehrere Browserfenster läuft .will AngularJSMehrere * Fenster * App mit Angular

verwenden (beachten Sie, es auszusehen hat/fühle mich wie eine App - nur, dass es auf mehrere verteilt Browserfenster)

Javascript ermöglicht einem übergeordneten Fenster, auf die Objekte in anderen Fenstern zu verweisen, solange das übergeordnete Objekt Verweise auf die anderen Fenster enthält. Auf diese Objekte kann entweder von den nativen Zugriffsmethoden oder beispielsweise von jQuery zugegriffen werden.

Ist eine Multi-Fenster-App etwas, das mit Angular gemacht wurde? Wie wäre eine solche App strukturiert, um skalierbar zu sein?

(ich habe die großen 'angular-app' reference app gesehen, das eine Vorlage für große Anwendungen ist (wenn ich nur bekommen kann es funktioniert!), Aber haben nichts über die Verwendung mehr Browser-Fensters gefunden ...

Antwort

6

Wahrscheinlich nicht die Antwort, die Sie suchen, aber aus meiner Erfahrung w/AngularJS scheint es, was Sie in einem Anti-Muster für eckig suchen.Insbesondere ist eckig auf Scoping groß - so ein Controller und eine Ansicht würde nur über sein eigenes "wissen" Alle anderen Controller/Ansichten auf derselben Seite oder andere Fenster usw. hätten nicht unbedingt Referenzen zueinander, sondern eine Anwendung auf einer Seite würde ein $ rootScope haben, das als Nachrichtenbus mit $ dienen könnte emit(), on $()

Betrachten Sie dies vielleicht als lose gekoppelte Teile mit einem zentralisierten Nachrichtenbus, der herausfindet, welche Fenster welche Ereignisse bekommen. Dann reagiert jedes Teil (App/Controller/View) nur auf diese Ereignisse.

Hinweis: Wir hatten eine Test-App, die mehrere UIWebViews in einer mobilen App simulierte, indem jede eckige App in iFrames gehostet und diese Vorgehensweise erfolgreich verwendet wurde. Sehr gut zusammensetzbar, sehr überprüfbar. HTH

+0

Hallo - danke für die Antwort. Das ist ziemlich genau, woran wir auch denken - außer dass wir daran gedacht haben, einen "Pipe" -Dienst zwischen den Fenstern einzurichten und die beiden Apps so miteinander reden zu lassen. – Danny

+0

Genau das, was ich gesucht habe. – sanfilippopablo

+0

Hast du das zur Arbeit gebracht? – Raskolnikoov