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>
亲自试一试 »

上例中的控制器 (myController) 在显示之前将"CustomerName"的值更改为大写。

如果您有控制器,AppML 将发送应用程序对象 ($appml) 到控制器,以执行每个重要操作。

应用程序属性之一是消息 ($appml.message),描述应用程序状态。

消息 描述
ready 在 AppML 启动并准备好加载数据后发送。
loaded AppML 完全加载后发送,准备显示数据。
display 在 AppML 显示数据项之前发送。
done AppML 完成后发送(显示完毕)。
submit 在 AppML 提交数据之前发送。
error 在 AppML 遇到错误后发送。

消息在下一章中解释。