Zuordnung dynamischer Modelle zu Komponenten für SPAs dynamic-model-to-component-mapping-for-spas

CAUTION
AEM 6.4 hat das Ende der erweiterten Unterstützung erreicht und diese Dokumentation wird nicht mehr aktualisiert. Weitere Informationen finden Sie in unserer technische Unterstützung. Unterstützte Versionen suchen here.

In diesem Dokument wird beschrieben, wie die Zuordnung des dynamischen Modells zu Komponenten im JavaScript SPA SDK für AEM erfolgt.

NOTE
Für die Funktion "Single Page Application (SPA) Editor"ist AEM Service Pack 2 (oder höher) 6.4 erforderlich.
Der SPA-Editor ist die empfohlene Lösung für Projekte, bei denen Client-seitiges Rendering auf Basis eines SPA-Frameworks (z. B. React oder Angular) erforderlich ist.

ComponentMapping-Modul componentmapping-module

Das ComponentMapping-Modul wird dem Frontend-Projekt als NPM-Paket bereitgestellt. Es speichert Frontend-Komponenten und bietet der Single Page Application die Möglichkeit, Frontend-Komponenten AEM-Ressourcentypen zuzuordnen. Dies ermöglicht beim Parsen des JSON-Modells des Programms eine dynamische Auflösung von Komponenten.

Alle im Modell vorhandenen Elemente enthalten ein Feld :type, das einen AEM-Ressourcentyp verfügbar macht. Bei der Implementierung kann sich die Frontend-Komponente mit dem Fragment des Modells, das sie von den zugrunde liegenden Bibliotheken erhalten hat, selbst rendern.

Weitere Informationen zum Parsen von Modellen und zum Zugriff der Frontend-Komponenten auf das Modell finden Sie im Dokument SPA-Blueprint.

Weitere Informationen finden Sie im npm-Paket: https://www.npmjs.com/package/@adobe/aem-spa-component-mapping

Modellgesteuerte Single Page Application model-driven-single-page-application

Single Page Applications, die das JavaScript SPA SDK für AEM nutzen, sind modellgesteuert:

  1. Frontend-Komponenten registrieren sich im Komponentenzuordnungs-Store.

  2. Anschließend durchläuft der Container, sobald ihm ein Modell vom Modellanbieter zur Verfügung gestellt wurde, seinen Modellinhalt ( :items).

  3. Im Fall einer Seite erhalten die untergeordneten Elemente (:children) zunächst eine Komponentenklasse aus der Komponentenzuordnung und instanziieren sie dann.

App-Initialisierung app-initialization

Jede Komponente wird um die Funktionen von ModelProvider erweitert. Die Initialisierung hat daher die folgende allgemeine Form:

  1. Jeder Modellanbieter initialisiert sich selbst und wartet auf Änderungen, die an dem Modell vorgenommen wurden, das seiner inneren Komponente entspricht.

  2. PageModelManager muss gemäß dem Initialisierungsfluss initialisiert werden.

  3. Nach dem Speichern gibt der Seitenmodell-Manager das vollständige Modell der App zurück.

  4. Dieses Modell wird dann an die Frontend-Stamm-Container-Komponente der App übergeben.

  5. Teile des Modells werden schließlich auf jede einzelne untergeordnete Komponente übertragen.

app_model_initialization

recommendation-more-help
2315f3f5-cb4a-4530-9999-30c8319c520e