AngularJS - dyrektywy

Dyrektywy AngularJS służą do rozszerzania HTML. Są to specjalne atrybuty zaczynające się odng-prefiks. Omówmy następujące dyrektywy -

  • ng-app - Ta dyrektywa uruchamia aplikację AngularJS.

  • ng-init - Ta dyrektywa inicjuje dane aplikacji.

  • ng-model - Ta dyrektywa definiuje model, który jest zmienną, która ma być używana w AngularJS.

  • ng-repeat - Ta dyrektywa powtarza elementy HTML dla każdego elementu w kolekcji.

Dyrektywa ng-app

Dyrektywa ng-app uruchamia aplikację AngularJS. Definiuje element główny. Automatycznie inicjuje lub ładuje aplikację po załadowaniu strony internetowej zawierającej aplikację AngularJS. Służy również do ładowania różnych modułów AngularJS w aplikacji AngularJS. W poniższym przykładzie definiujemy domyślną aplikację AngularJS przy użyciu atrybutu ng-app elementu <div>.

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

Dyrektywa ng-init

Dyrektywa ng-init inicjuje dane aplikacji AngularJS. Służy do przypisywania wartości do zmiennych. W poniższym przykładzie inicjalizujemy tablicę krajów. Używamy składni JSON do definiowania tablicy krajów.

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

Dyrektywa ng-model

Dyrektywa ng-model definiuje model / zmienną, która ma być używana w aplikacji AngularJS. W poniższym przykładzie definiujemy model o nazwie name .

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

Dyrektywa ng-repeat

Dyrektywa ng-repeat powtarza elementy HTML dla każdego elementu w kolekcji. W poniższym przykładzie iterujemy po tablicy krajów.

<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>

Przykład

Poniższy przykład ilustruje zastosowanie wszystkich wyżej wymienionych dyrektyw.

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>

Wynik

Otwórz plik testAngularJS.htm w przeglądarce internetowej. Wpisz swoje imię i nazwisko i zobacz wynik.