Modelo dinâmico para mapeamento de componentes para SPA dynamic-model-to-component-mapping-for-spas

Este documento descreve como ocorre o modelo dinâmico para o mapeamento de componentes no SDK do JavaScript SPA para Adobe Experience Manager (AEM).

NOTE
O Editor de SPA é a solução recomendada para projetos que exigem renderização no lado do cliente baseada na estrutura SPA (por exemplo, React ou Angular).

Módulo ComponentMapping componentmapping-module

O módulo ComponentMapping é fornecido como um pacote NPM para o projeto front-end. Ele armazena componentes de front-end e fornece uma maneira para o Aplicativo de página única mapear componentes de front-end para tipos de recursos de AEM. Isso permite uma resolução dinâmica de componentes ao analisar o modelo JSON do aplicativo.

Cada item presente no modelo contém um campo :type que expõe um tipo de recurso AEM. Quando montado, o componente de front-end pode ser renderizado usando o fragmento de modelo que recebeu das bibliotecas subjacentes.

Consulte Blueprint do SPA para obter mais informações sobre análise de modelo e acesso do componente front-end ao modelo.

Consulte também o pacote npm: https://www.npmjs.com/package/@adobe/aem-spa-component-mapping

Aplicativo de página única orientado por modelo model-driven-single-page-application

Aplicativos de página única que usam o SDK do JavaScript SPA para AEM são orientados por modelo:

  1. Os componentes front-end se registram no Repositório de Mapeamentos de Componentes.

  2. Em seguida, o Contêiner, uma vez fornecido com um modelo pelo Provedor de Modelos, itera sobre seu conteúdo de modelo ( :items).

  3. Se houver uma página, seus filhos ( :children) obterão primeiro uma classe de componente do Mapeamento de Componentes e a instanciarão.

Inicialização do aplicativo app-initialization

Cada componente é estendido com os recursos do ModelProvider. A inicialização assume a seguinte forma geral:

  1. Cada provedor de modelo se inicializa e escuta as alterações feitas na parte do modelo que corresponde ao componente interno.

  2. O PageModelManager deve ser inicializado como representado pelo fluxo de inicialização.

  3. Depois de armazenado, o gerenciador de modelo de página retorna o modelo completo do aplicativo.

  4. Este modelo é então passado para o componente raiz de front-end Container do aplicativo.

  5. Partes do modelo são finalmente propagadas para cada componente filho individual.

app_model_initialization

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2