AppML コントローラの目的は、アプリケーションをコントロールできるようにすることです。
AppML アプリケーションは、デフォルトではコントローラを使用せずに実行されます:
<table appml-data="customers.js">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
Try It Yourself »
AppML コントローラを使用すれば、JavaScript でアプリケーションをコントロールできます。
コントローラは、あなたが提供する JavaScript 関数です。
appml-controller 属性は、コントローラ関数を参照するために使用します。
<h1>Customers</h1>
<table appml-data="customers.js" appml-controller="myController">
<tr>
<th>Customer</th>
<th>City</th>
<th>Country</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
<script>
function myController($appml) {
if ($appml.message == "display") {
if ($appml.display.name == "CustomerName")
{
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Try It Yourself »
上記例のコントローラ(myControlller)は、表示する前に、"CustomerName" の値を大文字に変更します。
コントローラを使用している場合、AppML は、すべての重要なアクションのために、 コントローラにアプリケーションオブジェクト($appml)を送信します。
アプリケーション・プロパティの一つは、アプリケーションの状態を示すメッセージ($appml.message)です。
| メッセージ | 説明 |
|---|---|
| ready | AppML が初期化され、データ・ロードの準備が完了後に送信される。 |
| loaded | AppML が完全にロードされ、データの表示準備が完了した後に送信される。 |
| display | AppML がデータ項目を表示する前に送信される。 |
| done | AppML が行われた(表示終了)後に送信される。 |
| submit | AppML がデータを送信する前に送信される。 |
| error | AppML でエラーが発生した後に送信される。 |
![]() |
メッセージは、次章で説明します。 |
|---|