最新的Web开发教程
 

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>
试一试»
属性 描述 解释
appml控制器 定义一个AppML控制器 AppML控制器
appml数据 定义了数据源用于应用 AppML数据
appml,包括HTML的 定义HTML被列入 AppML包括
appml重复 定义要重复的HTML元素 AppML HOWTO

AppML消息

function myController($appml) {
    if ($appml.message == "display") {
        if ($appml.display.name == "CustomerName") {
            $appml.display.value = $appml.display.value.toUpperCase();
        }
    }
}
试一试»
信息 发送
准备 AppML后启动,并准备加载数据。
AppML满载后,准备显示数据。
显示 之前AppML显示的数据项。
DONE AppML完成后(finished displaying)
提交 之前AppML提交数据。
错误 之后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;
        }
}