ng-include em AngularJS: Como incluir arquivo HTML [exemplo]

Por padrão, o HTML não fornece o recurso de incluir código do lado do cliente de outros arquivos. Normalmente, é uma boa prática em qualquer linguagem de programação distribuir a funcionalidade entre vários arquivos para qualquer aplicativo.

Por exemplo, se você tivesse lógica para operações numéricas, normalmente desejaria ter essa funcionalidade definida em um arquivo separado. Esse arquivo separado pode então ser reutilizado em vários aplicativos, apenas incluindo esse arquivo.

Este é normalmente o conceito de Incluir declarações que estão disponíveis em linguagens de programação como .Net e Java.

Este tutorial examina outras maneiras pelas quais os arquivos (arquivos que contêm código HTML externo) podem ser incluídos no arquivo HTML principal.

Neste tutorial, você aprenderá-

O lado do cliente inclui

Uma das formas mais comuns é incluir código HTML por meio de Javascript. JavaScript é uma linguagem de programação que pode ser usada para manipular o conteúdo de uma página HTML instantaneamente. Portanto, o Javascript também pode ser usado para incluir código de outros arquivos.

As etapas a seguir mostram como isso pode ser feito.

Passo 1) Defina um arquivo chamado Sub.html e adicione o seguinte código ao arquivo.

 This is an included file 

Passo 2) Crie um arquivo chamado Sample.html, que é o arquivo principal do seu aplicativo e adicione o fragmento de código abaixo.

Abaixo estão os principais aspectos a serem observados sobre o código abaixo,

  1. Na tag body, há uma tag div que possui um id de Content. Este é o local onde o código do arquivo externo 'Sub.html' será inserido.
  2. Há uma referência a um script jquery. JQuery é uma linguagem de script construída sobre Javascript, o que torna a manipulação do DOM ainda mais fácil.
  3. Na função Javascript, existe uma declaração '$ (' # Content '). Load (' Sub.html ');' o que faz com que o código no arquivo Sub.html seja injetado na tag div que tem o id de Content.
     $(function(){ $('#Content').load('Sub.html'); }); 

Inclui o lado do servidor

As inclusões do lado do servidor também estão disponíveis para incluir uma parte comum de código em um site. Isso normalmente é feito para incluir conteúdo nas partes abaixo de um documento HTML.

  1. Cabeçalho da página
  2. Rodapé da página
  3. Menu de navegação.

Para que um servidor da web reconheça um Server Side Includes, os nomes dos arquivos têm extensões especiais. Eles geralmente são aceitos pelo servidor da web, como .shtml, .stm, .shtm, .cgi.

A diretiva usada para incluir conteúdo é a 'diretiva de inclusão'. Um exemplo da diretiva de inclusão é mostrado abaixo;

  • A diretiva acima permite que o conteúdo de um documento seja incluído em outro.
  • O comando 'virtual' acima do código é usado para especificar o destino em relação à raiz do domínio do aplicativo.
  • Além disso, para o parâmetro virtual, existe também o parâmetro de arquivo que pode ser usado. Os parâmetros 'arquivo' são usados ​​quando é necessário especificar o caminho relativo ao diretório do arquivo atual.

Observação:

O parâmetro virtual é usado para especificar o arquivo (página HTML, arquivo de texto, script, etc.) que precisa ser incluído. Se o processo do servidor da web não tiver acesso para ler o arquivo ou executar o script, o comando include falhará. A palavra 'virtual' é uma palavra-chave que deve ser inserida na diretiva de inclusão.

Como incluir arquivo HTML em AngularJS

O Angular fornece a função de incluir a funcionalidade de outros arquivos AngularJS usando a diretiva ng-include.

O objetivo principal da 'diretiva ng-include' é usado para buscar, compilar e incluir um fragmento HTML externo no aplicativo AngularJS principal.

Vamos examinar a base de código abaixo e explicar como isso pode ser feito usando o Angular.

Passo 1) vamos escrever o código abaixo em um arquivo chamado Table.html. Este é o arquivo que será injetado em nosso arquivo de aplicativo principal usando a diretiva ng-include.

O fragmento de código a seguir assume que existe uma variável de escopo chamada 'tutorial'. Em seguida, ele usa a diretiva ng-repeat, que percorre cada tópico na variável 'Tutorial' e exibe os valores para o par de valores-chave 'nome' e 'descrição'.

{{ Topic.Name }} {{ Topic.Country }}

Passo 2) vamos escrever o código abaixo em um arquivo chamado Main.html. Este é um aplicativo angular.JS simples que possui os seguintes aspectos

  1. Use a diretiva 'ng-include' para injetar o código no arquivo externo 'Table.html'. A declaração foi destacada em negrito no código abaixo. Então, a tag div ' ' será substituído por todo o código no arquivo 'Table.html'.
  2. No controlador, uma variável 'tutorial' é criada como parte do objeto $ scope. Esta variável contém uma lista de pares de valores-chave.

Em nosso exemplo, os pares de valores-chave são

  1. Nome - denota o nome de um tópico, como controladores, modelos e diretivas.
  2. Descrição - fornece uma descrição de cada tópico

A variável tutorial também é acessada no arquivo 'Table.html'.

 Event Registration 

Guru99 Global Event

var sampleApp = angular.module('sampleApp',[]); sampleApp.controller('AngularController', function($scope) { $scope.tutorial =[ {Name: 'Controllers' , Description : 'Controllers in action'}, {Name: 'Models' , Description : 'Models and binding data'}, {Name: 'Directives' , Description : 'Flexibility of Directives'} ]; });

Ao executar o código acima, você obterá a seguinte saída.

Saída :

Resumo:

  • Por padrão, sabemos que HTML não fornece uma maneira direta de incluir conteúdo HTML de outros arquivos como outras linguagens de programação.
  • Javascript junto com JQuery é a melhor opção preferida para incorporar conteúdo HTML de outros arquivos.
  • Outra maneira de incluir conteúdo HTML de outros arquivos é usar a diretiva e a palavra-chave do parâmetro virtual. A palavra-chave do parâmetro virtual é usada para denotar o arquivo que precisa ser incorporado. Isso é conhecido como inclusões do lado do servidor.
  • O Angular também fornece a facilidade de incluir arquivos usando a diretiva ng-include. Esta diretiva pode ser usada para injetar código de arquivos externos diretamente no arquivo HTML principal.