AppML Controllers
AppML 控制器的目的是讓您控制您的應用程式。
控制器能做什麼?
- 設定初始資料
- 更改應用程式資料
- 處理輸入和輸出
- 驗證資料
- 彙總資料
- 處理錯誤
- 啟動和停止應用程式
- 以及更多
沒有控制器
預設情況下,AppML 應用程式在沒有控制器的情況下執行
示例
<table appml-data="customers.js">
<tr>
<th>客戶</th>
<th>城市</th>
<th>國家</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
自己試試 »
有控制器
使用 AppML 控制器,您可以使用JavaScript控制您的應用程式。
控制器是一個由您提供的 JavaScript 函式。
appml-controller 屬性用於引用一個控制器函式。
示例
<h1>客戶</h1>
<table appml-data="customers.js" appml-controller="myController">
<tr>
<th>客戶</th>
<th>城市</th>
<th>國家</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>
自己試試 »
上面示例中的控制器(myController)會在顯示“CustomerName”之前將其值轉換為大寫。
如果您有控制器,AppML 將在每次重要操作時將應用程式物件($appml)傳送給控制器。
應用程式的屬性之一是訊息($appml.message),用於描述應用程式的狀態。
訊息 | 描述 |
---|---|
ready | 在 AppML 初始化後傳送,並且已準備好載入資料。 |
loaded | 在 AppML 完全載入後傳送,已準備好顯示資料。 |
display | 在 AppML 顯示資料項之前傳送。 |
完成 | 在 AppML 完成(顯示完畢)後傳送。 |
submit | 在 AppML 提交資料之前傳送。 |
error | 在 AppML 遇到錯誤後傳送。 |
訊息將在下一章中進行解釋。