AppML 消息
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 完成(完成显示)后发送。 |
"submit" | AppML 提交数据之前发送。 |
"error" | AppML 遇到错误后发送。 |
"ready" 消息
当 AppML 应用程序准备好加载数据时,它将发送一个 "ready" 消息。
这是向应用程序提供初始数据(起始值)的完美位置
示例
<div appml-controller="myController" appml-data="customers.js">
<h1>客户</h1>
<p>{{today}}</p>
<table>
<tr>
<th>客户</th>
<th>城市</th>
<th>国家</th>
</tr>
<tr appml-repeat="records">
<td>{{CustomerName}}</td>
<td>{{City}}</td>
<td>{{Country}}</td>
</tr>
</table>
<p>版权 {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "W3Schools"
}
}
</script>
自己尝试 »
在上面的示例中,当 $appml.message 为 "ready" 时,控制器会向应用程序添加两个新属性 (today 和 copyright)。
当应用程序运行时,新属性可用于应用程序。
"loaded" 消息
当 AppML 应用程序加载了数据(准备显示)时,它将发送一个 "loaded" 消息。
这是对加载的数据进行更改(如有必要)的完美位置。
示例
function myController($appml) {
if ($appml.message == "loaded") {
// 在显示之前在此处计算您的值
}
}
"display" 消息
每次 AppML 显示数据项时,它都会发送一个 "display" 消息。
这是修改输出的完美位置
示例
<div appml_app="myController" appml-data="customers.js">
<h1>客户</h1>
<table>
<tr>
<th>客户</th>
<th>城市</th>
<th>国家</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") {
在此处计算数据
}
}
</script>
"submit" 消息
当 AppML 应用程序准备好提交数据时,它将发送一个 "submit" 消息。
这是验证应用程序输入的完美位置。
示例
<script>
function myController($appml) {
if ($appml.message == "submit") {
在此处验证数据
}
}
</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 | 错误描述。 |