AppML 参考手册

AppML HTML 属性

实例

<div appml-include-html="inc_header.htm"></div>

<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>

<div appml-include-html="inc_footer.htm"></div>
亲自试一试 »
属性 描述 Explained
appml-controller 定义一个 AppML 控制器 AppML 控制器
appml-data 定义应用程序的数据源 AppML 数据
appml-include-html 定义要包含的 HTML AppML 包含
appml-repeat 定义要重复的 HTML 元素 AppML 方法

AppML 消息

实例

function myController($appml) {
    if ($appml.message == "display") {
        if ($appml.display.name == "CustomerName") {
            $appml.display.value = $appml.display.value.toUpperCase();
        }
    }
}
亲自试一试 »
消息 Sent
ready AppML 启动后,准备加载数据。
loaded AppML 完全加载后,就可以显示数据了。
display 在 AppML 显示数据项之前。
done AppML 完成后(显示完毕)。
submit 在 AppML 提交数据之前。
error AppML 遇到错误后。

AppML 消息在AppML 消息一章中解释。


AppML 模型

实例

{
"security": "admin",
"rowsperpage" : 10,

"database": {
    "connection": "mysql",
    "sql"       : "SELECT * FROM Customers",
    "orderby"   : "CustomerName"}},

"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}],

"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}]
}

AppML 模型属性

元素 描述
"data" 为模型定义平面文件源
"database" 为模型定义一个数据库源
"filteritems" 定义过滤器限制
"rowsperpage" 定义每页要获取的行数
"security" 定义模型的安全性
"sortitems" 定义排序限制

应用安全

您必须以"admin"组的成员身份登录,才能访问此应用程序:

实例

{
"security": "admin",
"database": {
    "connection": "mysql",
    "sql"       : "SELECT * FROM Customers",
    "orderby"   : "CustomerName"}
}

私有模型

您可以将自己的私有数据添加到模型中。

此示例建议对数据进行限制:

实例

"restrictions" : {
    "fname" : {"maxlength": 40},
    "price" : {"max": 999,"min": 100}
    }

模型数据可供服务器应用程序和您的 AppML 控制器使用。

此示例使用模型数据来验证输入:

实例

function myController($appml) {
    if ($appml.message == "submit") {
        var price = document.getElementById("price").value;
        if (price < $appml.model.restrictions.price.min) {
            $appml.displayError(15, "Price too low!");
            return;
        }
}