AppML 参考
AppML HTML 属性
示例
<div appml-include-html="inc_header.htm"></div>
<h1>客户</h1>
<table appml-data="customers.js" appml-controller="myController">
<tr>
<th>客户</th>
<th>城市</th>
<th>国家</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>
自己试试 »
Attribute | 描述 | 解释 |
---|---|---|
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();
}
}
}
自己试试 »
消息 | 已发送 |
---|---|
就绪 | AppML 初始化后,准备加载数据。 |
loaded | AppML 完全加载后,准备显示数据。 |
display | 在 AppML 显示数据项之前。 |
完成 | 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" : "客户"},
{"item" : "城市"},
{"item" : "Country"}],
"sortitems" : [
{"item" : "CustomerName", "label" : "客户"},
{"item" : "城市"},
{"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;
}
}