簡単なサンプルコードを使ってAngularJSの基本要素を確認します。
※目次をクリックすると目次の下部にコンテンツが表示されます。
サンプルコード
<!doctype html> <html ng-app="myApp"> <head> <meta charset="utf-8"> <title>AngularJSサンプル</title> <script src="js/angular.min.js"></script> <script> var myApp = angular.module("myApp", []); </script> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="page-header"> <h1>AngularJSの簡単なサンプルコード</h1> </div> <label>名前:</label> <input type="text" ng-model="yourName" placeholder="ここに名前を入力"> <hr> <h1>ようこそ {{yourName}}さん!</h1> </div> </body> </html>
AngularJSを使用するには?
①HTMLファイルで<script>要素でangular.jsファイルをインクルード
<script type=”text/javascript” src=”js/angular.min.js”></script>
②AngularJSのモジュールを作成
angular.moduleメソッドでモジュールを作成できます。1番目の引数がモジュール名、2番目の引数でこのモジュールが使用する他のモジュール名を配列でしています。
ここでは、”myApp”という名前のモジュールを作成しています。このサンプルでは、モジュールを定義しただけで中身は空です。
<script>
var myApp = angular.module(“myApp”, []);
</script>
③HTMLにモジュールを適用
“ng-app”属性を使ってAngularJSのモジュールをHTMLに適用します。
このサンプルでは、HTMLファイル全体にモジュールを適用するため、html要素にng-app属性を指定しています。jQueryなど他の技術を併用する場合には、ドキュメント内の限定した領域にモジュールを適用します。
<html ng-app=”myApp”>
このサンプルでは、定義したモジュールには何も記述していませんが、AngularJSをHTMLに適用したのでAngularJSのビルトインの機能が利用できます。
<script type=”text/javascript” src=”js/angular.min.js”></script>
②AngularJSのモジュールを作成
angular.moduleメソッドでモジュールを作成できます。1番目の引数がモジュール名、2番目の引数でこのモジュールが使用する他のモジュール名を配列でしています。
ここでは、”myApp”という名前のモジュールを作成しています。このサンプルでは、モジュールを定義しただけで中身は空です。
<script>
var myApp = angular.module(“myApp”, []);
</script>
③HTMLにモジュールを適用
“ng-app”属性を使ってAngularJSのモジュールをHTMLに適用します。
このサンプルでは、HTMLファイル全体にモジュールを適用するため、html要素にng-app属性を指定しています。jQueryなど他の技術を併用する場合には、ドキュメント内の限定した領域にモジュールを適用します。
<html ng-app=”myApp”>
このサンプルでは、定義したモジュールには何も記述していませんが、AngularJSをHTMLに適用したのでAngularJSのビルトインの機能が利用できます。
サンプルコードの補足説明
①<html ng-app>
・このディレクティブは、AngularJSがアプリのルートとしてみなすHTML要素のフラグとしての役割があります。
・この仕組みによって開発者はページ全体をAngularJSアプリの対象とするかページの一部を対象とするか指定出来ます。
②<script src=”js/angular.min.js”>
・angular.min.jsスクリプトをダウンロードし、HTMLページが完全にダウンロードされるときにブラウザによって実行されるコールバックを登録。
・コールバックが実行されるとAngularはngAppディレクティブを探してアプリを起動。
③{{yourName}} 1wayデータバインディング
・AngularJSのビルトインの機能で、二重カーリーブラケット(波括弧、中括弧)を記述するとデータモデルとバインディングが行われ、データモデルからHTMLにデータが挿入されます。
・バインディングによってAngularは式(expression)を評価して、その結果をDOMで挿入します。
・バインディングでは、一度きりの挿入ではなく、expressionの評価結果が変わるたびに継続的に挿入します。
④<input type=”text” ng-model=”yourName”> 2way(双方向)データバインディング
・”ng-model”を指定すると2wayのデータバインディングとなります。
HTMLのinput要素で入力した値はデータモデルに反映され、関連する1wayバインディングにも即座に反映され、同期されます。
・サンプルコードでは、同じ名前で1wayデータバインディングが設定されているので、input要素に値を入力すると即座にその下に入力した値が表示されます。
・このディレクティブは、AngularJSがアプリのルートとしてみなすHTML要素のフラグとしての役割があります。
・この仕組みによって開発者はページ全体をAngularJSアプリの対象とするかページの一部を対象とするか指定出来ます。
②<script src=”js/angular.min.js”>
・angular.min.jsスクリプトをダウンロードし、HTMLページが完全にダウンロードされるときにブラウザによって実行されるコールバックを登録。
・コールバックが実行されるとAngularはngAppディレクティブを探してアプリを起動。
③{{yourName}} 1wayデータバインディング
・AngularJSのビルトインの機能で、二重カーリーブラケット(波括弧、中括弧)を記述するとデータモデルとバインディングが行われ、データモデルからHTMLにデータが挿入されます。
・バインディングによってAngularは式(expression)を評価して、その結果をDOMで挿入します。
・バインディングでは、一度きりの挿入ではなく、expressionの評価結果が変わるたびに継続的に挿入します。
④<input type=”text” ng-model=”yourName”> 2way(双方向)データバインディング
・”ng-model”を指定すると2wayのデータバインディングとなります。
HTMLのinput要素で入力した値はデータモデルに反映され、関連する1wayバインディングにも即座に反映され、同期されます。
・サンプルコードでは、同じ名前で1wayデータバインディングが設定されているので、input要素に値を入力すると即座にその下に入力した値が表示されます。
AngularJSの特徴、仕組み
ビルトインディレクティブ
- ビルトインのディレクティブの概要
- データバインディングのディレクティブの概要
- ng-repeatを使ってリスト、テーブル、フィルター
- ng-includeを使って別のHTMLファイルを埋め込み
- ng-switchを使って内部にあるHTMLテンプレートの表示を切り替え
- ng-if、ng-show、ng-hideを使って表示、非表示を切り替え
- ng-class、ng-styleを使ってCSSを設定
- イベント処理
- 有効、無効を切替えるディレクティブ
- フォームの入力チェックを行い、動的にCSS追加
- ng-optionsを使ってSelectメニューを作成
- ng-repeatを使ってラジオボタンを作成
- ビルトインのフィルターの使用方法
- ビルトインのフィルターで関数を使用
- カスタムフィルターの使用方法
- Bootstrap3を使ってページング
- スクリプト内でフィルターを使用、既存のフィルターを拡張
サービス
- サービスの概要とfactory、service、providerの使い分け
- $qサービスでpromise/deferredパターン
- $httpサービスの概要、サーバーからJSONデータ取得
- $httpサービスのPOSTでデータ送信
- $qサービスを使ってhttpリクエストを複数実行
- $httpサービスのinterceptorの使用方法
- AngularJSのwithCredentialsの設定、CORS
- $timeoutサービスと$intervalサービス
- $resourceサービスを使ってREST
- $locationサービスを使ってURLを操作
- $routeサービスと$resourceサービスを使ったサンプルを作成
- routeChangeSuccessを使ってflashメッセージ表示
- JavaScript、CSSを含むHTMLデータをバインドして表示
カスタムディレクティブ
AngularJSの特徴、仕組み
ビルトインディレクティブ
- ビルトインのディレクティブの概要
- データバインディングのディレクティブの概要
- ng-repeatを使ってリスト、テーブル、フィルター
- ng-includeを使って別のHTMLファイルを埋め込み
- ng-switchで内部にあるHTMLテンプレートの表示を切り替え
- ng-if、ng-show、ng-hideを使って表示、非表示を切り替え
- ng-class、ng-styleを使ってCSSを設定
- イベント処理
- 有効、無効を切替えるディレクティブ
- フォームの入力チェックを行い、動的にCSS追加
- ng-optionsを使ってSelectメニューを作成
- ng-repeatを使ってラジオボタンを作成
- ビルトインのフィルターの使用方法
- ビルトインのフィルターで関数を使用
- カスタムフィルターの使用方法
- Bootstrap3を使ってページング
- スクリプト内でフィルターを使用、既存のフィルターを拡張
サービス
- サービスの概要とfactory、service、providerの使い分け
- $qサービスでpromise/deferredパターン
- $httpサービスの概要、サーバーからJSONデータ取得
- $httpサービスのPOSTでデータ送信
- $qサービスを使ってhttpリクエストを複数実行
- $httpサービスのinterceptorの使用方法
- AngularJSのwithCredentialsの設定、CORS
- $timeoutサービスと$intervalサービス
- $resourceサービスを使ってREST
- $locationサービスを使ってURLを操作
- $routeサービスと$resourceサービスを使ったサンプルを作成
- routeChangeSuccessを使ってflashメッセージ表示
- JavaScript、CSSを含むHTMLデータをバインドして表示
カスタムディレクティブ