AngularJSのng-includeを使って、共通で使用するHTMLコードを別のHTMLファイルとして作成してメインのHTMLに埋め込んだり、条件に応じて異なる内容のHTMLを埋めん込んだりする事が出来ます。
デモとコードサンプルはこちら。
(1)ng-includeを使って外部ファイルのHTMLを埋め込み
①別のHTMLファイルを作成
<table class="table"> <thead> <tr><th>名前</th><th>年齢</th><th>住所</th></tr> </thead> <tbody> <tr ng-repeat="person in people"> <td>{{person.name}}</td> <td>{{person.age}}</td> <td>{{person.address}}</td> </tr> </tbody> </table>
②メインのHTMLファイルでng-includeディレクティブを使って別のHTMLファイルを埋め込み
埋め込みたい場所に下記のようにng-includeディレクティブを指定します。src属性にHTMLファイルのURLを指定します。
<ng-include src=”‘http://example.com/wp-content/themes/wp/template/include_table.html'”></ng-include>
(2)条件に応じて表示するHTMLを切り替える例
ng-includeディレクティブのsrc属性に関数などの式を指定し、条件に応じて表示するHTMLファイルを切替えることも出来ます。
下記例では、ラジオボタンの選択結果に応じて表示するHTMLファイルを切替えています。
(HTML) <form> <input type="radio" ng-model="includeFile" value="list">リスト<input type="radio" ng-model="includeFile" value="table">表 </form> <ng-include src="switchHtml()"></ng-include> (スクリプト) var url = 'http://example.com/wp-content/themes/wp/template/'; $scope.switchHtml = function () { if ($scope.includeFile == "list"){ return url + "include_list.html"; } else if ($scope.includeFile == "table"){ return url + "include_table.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データをバインドして表示
カスタムディレクティブ
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データをバインドして表示
カスタムディレクティブ