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