最新的Web開發教程
 

AppML控制器


一個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遇到了一個錯誤後發送。

消息在下一章解釋。