AppML消息和操作
当AppML即将执行的操作,它发送该应用程序对象($appml)到控制器。
一个应用程序对象的属性是一个消息($appml.message)描述应用程序的状态。
测试此消息,使您可以添加自己的JavaScript代码,根据不同的动作。
例
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
试一试» AppML消息
这是AppML消息的列表可以接收:
信息 | 描述 |
---|---|
"ready" | AppML发送后启动,并准备加载数据。 |
"loaded" | AppML后发送满载,准备显示数据。 |
"display" | 发送AppML显示一个数据项之前。 |
"done" | AppML完成后发送(finished displaying) 。 |
"submit" | 发送AppML提交数据之前。 |
"error" | AppML遇到了一个错误后发送。 |
在"ready"的消息
当AppML应用程序准备加载数据,它将发送一个"ready"消息。
这是为了提供与初始数据的应用程序的理想场所(start values) :
例
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<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>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "w3ii"
}
}
</script>
试一试» 在上面的例子中,当$ appml.message是"ready" ,控制器增加了两个新的属性到应用程序( today and copyright ) 。
当应用程序运行时,新属性可用于应用程序。
的"loaded"消息
当一个应用程序AppML装入数据(ready to display) ,它将发送一个" loaded "消息。
这是为了提供修改完善的地方(if necessary)来加载的数据。
例
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
在"display"消息
每次AppML正在显示的数据项,它将发送一个" display "消息。
这是修改输出完美的地方:
例
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<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>
</div>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
试一试» 在上面的例子中, "CustomerName"被截断为15个字符,和"Country"被转换成大写字母。
在"done"的消息
当一个AppML应用程序已完成显示的数据,它将发送一个" done "的消息。
这是清理或计算应用程序数据(显示)之后的理想场所。
例
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
该"submit"消息
当AppML应用程序是准备提交的数据,它将发送一个" submit "消息。
这是验证应用程序输入的理想场所。
例
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
的"error"的消息
如果发生错误,AppML将发送一个" error "的消息。
这是处理错误的理想场所。
例
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML属性
这是一些常用的AppML属性的列表:
属性 | 描述 |
---|---|
$appml.message | 应用程序的当前状态。 |
$appml.display.name | 要显示有关数据字段的名称。 |
$appml.display.value | 要显示关于数据字段的值。 |
$appml.error.number | 错误号。 |
$appml.error.description | 错误描述。 |