AngularJS-ディレクティブ

AngularJSディレクティブは、HTMLを拡張するために使用されます。それらはで始まる特別な属性ですng-プレフィックス。次の指令について説明しましょう-

  • ng-app −このディレクティブはAngularJSアプリケーションを開始します。

  • ng-init −このディレクティブは、アプリケーションデータを初期化します。

  • ng-model −このディレクティブは、AngularJSで使用される変数であるモデルを定義します。

  • ng-repeat −このディレクティブは、コレクション内のアイテムごとにHTML要素を繰り返します。

ng-appディレクティブ

ng-appディレクティブは、AngularJSアプリケーションを起動します。ルート要素を定義します。AngularJSアプリケーションを含むWebページが読み込まれると、アプリケーションが自動的に初期化またはブートストラップされます。また、AngularJSアプリケーションでさまざまなAngularJSモジュールをロードするためにも使用されます。次の例では、<div>要素のng-app属性を使用してデフォルトのAngularJSアプリケーションを定義します。

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

ng-initディレクティブ

ng-initディレクティブは、AngularJSアプリケーションデータを初期化します。変数に値を割り当てるために使用されます。次の例では、国の配列を初期化します。JSON構文を使用して、国の配列を定義します。

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

ng-modelディレクティブ

ng-modelディレクティブは、AngularJSアプリケーションで使用されるモデル/変数を定義します。次の例では、nameという名前のモデルを定義します。

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

ng-repeatディレクティブ

ng-repeatディレクティブは、コレクション内の各アイテムに対してHTML要素を繰り返します。次の例では、国の配列を繰り返し処理します。

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

次の例は、上記のすべてのディレクティブの使用法を示しています。

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>

出力

ファイルtestAngularJS.htmをWebブラウザで開きます。名前を入力して結果を確認してください。