Ich habe einen Anwendungsfall, der das Laden von separaten Winkelanwendungen erfordert.
Basierend auf mehreren Fragen zum Stapelüberlauf und diesem Google-Thread ist es machbar. Aber ich kann es nicht zur Arbeit bringen.
Schauen Sie sich die Dokumentation an:
Es sieht so aus, als müssten Sie das Element bereitstellen (was ist der richtige Weg, um das Element zu manipulieren?), und dann, wie es an die Konfiguration, Controller usw. gebunden wird. Und wie würde das mit Routen funktionieren? IE wie funktioniert Kollision, dh app a und app b map / foo zu / fooa.html bzw. /foob.html bzw. ... oder beschreibt jede app ihre eigene .otherwise?
Danke!
Angesichts der Anforderung, dass dies ein service-getriebener Content sein soll, ist die einzige Möglichkeit, die ich sehen kann, eine Mischung aus eckigen und standardmäßigen HTML-Praktiken. Effektiv möchten Sie eine Seite aus dem Plunker-Buch nehmen und Iframes verwenden, um jedes einzelne Portlet zu enthalten.
%Vor%Dann benötigen Sie für jedes dieser Portlets eine vollständig separate Anwendung (einschließlich des Ladens von Ressourcen).
%Vor%Dies ist beim Laden etwas weniger effizient als bei Verwendung einer gemeinsamen Anwendungsbasis, aber im Moment ist dies nicht machbar. Es gibt im ui-router-Team von angular-ui Gespräche über die Kontrolle unabhängiger Ansichten, die eine praktikable Lösung für Sie sein können, aber derzeit nicht implementiert sind. Sie können die Diskussion auf Ссылка und stimme mit deinem Bedarf überein. Es gibt jetzt auch ein spezielles Problem dafür auf der Liste der Probleme mit dem ui-Router unter Ссылка .
Arbeitendes Plumbing dieses Entwurfs: Ссылка
Ok, also habe ich herausgefunden, wie man das macht, indem man den eckigen ui-router benutzt. Der Schlüssel kommt auf die Fähigkeit des eckigen ui-routers, Zustände zu wechseln, ohne die URL zu beeinflussen.
Die Schritte, damit dies funktioniert
Folgendes ist der Code, um das zu erreichen:
%Vor%Diese Lösung wird im Ссылка
eingesetztBitte beachten Sie meine vorherige Antwort für eine Diskussion, die derzeit auftritt, um die Portlet-Unterstützung im ui-Router intrinsischer zu machen.
Ich habe es herausgefunden. Hier erfahren Sie, wie Sie zwei Winkelanwendungen erfolgreich parallel laden können. Beachten Sie auch, dass ich die Controller für jede App gleich benannt habe, um zu zeigen, dass Abhängigkeiten nicht kollidieren (da sie innerhalb der jeweiligen App über das Modul definiert sind):
%Vor%Die einzige verbleibende Frage ist, wie man mit Routing-Kollisionen umgehen soll.
Nun, Sie haben hier zwei Möglichkeiten: Wenn Sie sie als angular.module () erstellen, gibt es keine Möglichkeit, die Module miteinander zu verbinden.
Wenn Sie -Direktiven mit einer templateURL erstellen, um Ihre Komponenten zu laden, können Sie gemeinsam genutzte Attribute ausstrahlen und ihnen zuhören und , die Sie verwenden könnten Dienste in Ihrer App. Wahrscheinlich wäre das das Beste für dich.
Tags und Links javascript angularjs