一個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>
試一試» 與控制器
隨著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>
試一試» 該控制器(myControlller)在上面的例子中,的值改變"CustomerName"被顯示之前為大寫。
如果你有一個控制器,AppML將應用對象發送($appml)控制器,每一個重要的行動。
一個應用程序屬性的是消息($appml.message)描述應用程序的狀態。
信息 | 描述 |
---|---|
ready | AppML發送後啟動,並準備加載數據。 |
loaded | AppML後發送滿載,準備顯示數據。 |
display | 發送AppML顯示一個數據項之前。 |
done | AppML完成後發送(finished displaying) 。 |
submit | 發送AppML提交數據之前。 |
error | AppML遇到了一個錯誤後發送。 |
消息在下一章解釋。