Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

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" 时,控制器会向应用程序添加两个新属性 (todaycopyright)。

当应用程序运行时,新属性可用于应用程序。



"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 错误描述。

×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.