Wir versuchen, eine Portalanwendung mit mehreren/unabhängigen "Sub-Apps" zu erstellen. Angenommen, dass alle Sub-Apps in Angular geschrieben sind, ist ein gutes Muster, um die folgenden Ziele zu erreichen.Portaltyp-Anwendung mit AngularJS (mehrere unabhängige Apps)
- Jede App kann unabhängig voneinander entwickelt und bereitgestellt werden.
- Sie teilen einen gemeinsamen Authentifizierungsdienst, sie können gemeinsame Bibliotheken (Direktiven, Filter usw.) gemeinsam nutzen.
- Nur eine App ist zu jeder Zeit sichtbar und aktiv. Der Umfang jeder Sub-App ist voneinander isoliert.
- Wenn die Benutzer zwischen den Unteranwendungen wechseln, wird der Status beibehalten, solange der Benutzer die Seite nicht aktualisiert oder eine andere statische Verbindung besucht. (Ich denke, dass dies in Angular eingebaut ist und keine besonderen Anstrengungen erforderlich sind)
- Jede Sub-App wird mehr als eine Sichten haben (es wird ein eigenes Menü haben). Es wird ein Top-Menü geben, basierend darauf, welche Sub-Apps verfügbar sind. Im Idealfall wird das oberste Menü basierend auf den bereitgestellten Sub-Apps dynamisch erstellt. Vielleicht gibt es eine serverseitige Komponente (der Server erkennt die Ordnerstruktur usw. und bestimmt, welche Apps bereitgestellt werden und injiziert den notwendigen js-Code in die Seite).
Angesichts der Tatsache, dass AngularJS nicht Multi-Level-Ansicht Struktur hat, dachte ich an mehrere ng-App-Erklärungen auf verschiedene divs und anschließend $ Fenster Umfang mit dem Schlüssel des aktiven App zu speichern und verstecken die diejenigen, die nicht aktiv sind.