AngularJS - Diretivas

As diretivas AngularJS são usadas para estender o HTML. Eles são atributos especiais que começam comng-prefixo. Vamos discutir as seguintes diretivas -

  • ng-app - Esta diretiva inicia um aplicativo AngularJS.

  • ng-init - Esta diretiva inicializa os dados do aplicativo.

  • ng-model - Esta diretiva define o modelo que é variável a ser usado no AngularJS.

  • ng-repeat - Esta diretiva repete os elementos HTML para cada item de uma coleção.

diretiva ng-app

A diretiva ng-app inicia um aplicativo AngularJS. Ele define o elemento raiz. Ele inicializa ou inicializa automaticamente o aplicativo quando a página da web que contém o aplicativo AngularJS é carregada. Ele também é usado para carregar vários módulos AngularJS no aplicativo AngularJS. No exemplo a seguir, definimos um aplicativo AngularJS padrão usando o atributo ng-app de um elemento <div>.

<div ng-app = "">
   ...
</div>

diretiva ng-init

A diretiva ng-init inicializa os dados do aplicativo AngularJS. É usado para atribuir valores às variáveis. No exemplo a seguir, inicializamos uma série de países. Usamos a sintaxe JSON para definir a variedade de países.

<div ng-app = "" ng-init = "countries = [{locale:'en-US',name:'United States'}, 
   {locale:'en-GB',name:'United Kingdom'}, {locale:'en-FR',name:'France'}]">
   ...
</div>

diretiva ng-model

A diretiva ng-model define o modelo / variável a ser usado no aplicativo AngularJS. No exemplo a seguir, definimos um modelo denominado nome .

<div ng-app = "">
   ...
   <p>Enter your Name: <input type = "text" ng-model = "name"></p>
</div>

diretiva ng-repeat

A diretiva ng-repeat repete os elementos HTML para cada item de uma coleção. No exemplo a seguir, iteramos a matriz de países.

<div ng-app = "">
   ...
   <p>List of Countries with locale:</p>
   
   <ol>
      <li ng-repeat = "country in countries">
         {{ 'Country: ' + country.name + ', Locale: ' + country.locale }}
      </li>
   </ol>
</div>

Exemplo

O exemplo a seguir mostra o uso de todas as diretivas mencionadas acima.

testAngularJS.htm

<html>
   <head>
      <title>AngularJS Directives</title>
   </head>
   
   <body>
      <h1>Sample Application</h1>
      
      <div ng-app = "" ng-init = "countries = [{locale:'en-US',name:'United States'}, 
         {locale:'en-GB',name:'United Kingdom'}, {locale:'en-FR',name:'France'}]"> 
         <p>Enter your Name: <input type = "text" ng-model = "name"></p>
         <p>Hello <span ng-bind = "name"></span>!</p>
         <p>List of Countries with locale:</p>
      
         <ol>
            <li ng-repeat = "country in countries">
               {{ 'Country: ' + country.name + ', Locale: ' + country.locale }}
            </li>
         </ol>
      </div>
      
      <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js">
      </script>
      
   </body>
</html>

Resultado

Abra o arquivo testAngularJS.htm em um navegador da web. Digite seu nome e veja o resultado.