components.json

O arquivo components.json é composto por um array de objetos que especificam detalhes de todos os componentes utilizáveis na construção do site.

Este objeto é composto pelos seguintes atributos:

AtributoTipoObrigatórioDescrição
namestringSimNome pelo qual o componente será chamado
pathstringSimCaminho do arquivo html dentro da pasta Components
paramsarray de objectNãoParâmetros passados para uso dentro do componente
inheritVariablesboolNãoDeve herdar as variáveis disponíveis na página ou outro componente que chame este componente. Se não definido, seu valor padrão é false
availableInAllPagesboolNãoDeve ser disponível para chamada em todas as páginas. Se não definido, seu valor padrão é false
availableInAllComponentsboolNãoDeve ser disponível para chamada em todos os componentes. Se não definido, seu valor padrão é false
availableInPagesarray de stringNãoNome do tipo de página onde será possível a chamada
availableInComponentsarray de stringNãoNomes dos outros componentes onde será possível a chamada

❗️

Atributo inheritVariables

Recomendamos que seja marcado como true apenas quando for realmente necessário para uso dentro do componente. Senão prefira passar apenas os dados necessários por parâmetro, evitando excesso de dados descartados e melhor performance

No objeto params é definido o nome e a obrigatoriedade dos parâmetros, ambos necessários para o cadastro no componente:

AtributoTipoDescrição
namestringNome do parâmetro a ser usado dentro do componente
requiredboolDefine se o parâmetro é obrigatório para o funcionamento do componente

Exemplo de cadastro de um componente

[
    {
        "name": "banners_carousel",
        "path": "banners_carousel.html",
        "params": [
            {
                "name": "banners",
                "required": true
            },
            {
                "name": "position",
                "required": false
            }
        ],
        "availableInAllPages": true
    }
]

Neste exemplo foi cadastrado um componente com o nome banners_carousel, implementado no arquivo banners_carousel.html (localizado na pasta Components), que recebe obrigatoriamente um parâmetro banners e opcionalmente um parâmetro position. Ele não herda nenhuma variável de quem o chama e é disponível para chamada em todas as páginas, mas não em outros componentes.

Chamando um componente cadastrado

Na chamada em um arquivo .html utilize exatamente os nomes configurados para o componente e para os parâmetros:

{{ banners_carousel banners: data...banners position: "Topo" }}

Como resultado, esta chamada adiciona o trecho html implementado no arquivo do componente.