AppML 控制器
AppML 控制器 的用途是让您 控制 应用程序。
控制器能做什么?
- 设置初始数据
- 更改应用程序数据
- 处理输入和输出
- 验证数据
- 汇总数据
- 处理错误
- 启动和停止应用程序
- 还有更多
不使用控制器
默认情况下,AppML 应用程序在没有控制器的情况下运行:
实例
<!DOCTYPE html>
<html>
<title>Customers</title>
<link rel="stylesheet" href="/example/appml/style.css">
<script src="https://cankaoshouce.com/js/appml/appml.js"></script>
<body>
<h1>Customers</h1>
<table appml-data="/example/appml/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>
</body>
</html>
使用控制器
使用 AppML 控制器,您可以使用 JavaScript 控制 应用程序。
控制器是一个由您提供的 JavaScript 函数。
appml-controller 属性用于引用控制器函数。
实例
<!DOCTYPE html>
<html>
<title>Customers</title>
<link rel="stylesheet" href="/example/appml/style.css">
<script src="https://cankaoshouce.com/js/appml/appml.js"></script>
<body>
<h2>Customers</h2>
<table appml-data="/example/appml/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>
</body>
</html>
上例中的控制器(myController)在显示 "CustomerName" 之前将其值更改为大写。
如果您有一个控制器,对于每个重要的操作,AppML 都会将 应用程序对象 ($AppML)发送给控制器。
应用程序属性之一是描述应用程序状态的消息($appml.message)。
消息 | 描述 |
---|---|
ready | AppML 启动并准备加载数据后发送 |
loaded | AppML 完全加载后发送,准备显示数据 |
display | 在 AppML 显示数据项之前发送 |
done | AppML 完成后发送(显示完成) |
submit | 在 AppML 提交数据之前发送。 |
error | 在 AppML 遇到错误后发送 |
消息将在下一章中详细讲解。