AppML 参考引用

AppML HTML 属性

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <title>Customers</title>
  4. <link rel="stylesheet" href="/example/appml/style.css">
  5. <script src="https://cankaoshouce.com/js/appml/appml.js"></script>
  6. <body>
  7. <div appml-include-html="/example/appml/inc_header.html"></div>
  8. <h2>Customers</h2>
  9. <table appml-data="/example/appml/customers.js" appml-controller="myController">
  10. <tr>
  11. <th>Customer</th>
  12. <th>City</th>
  13. <th>Country</th>
  14. </tr>
  15. <tr appml-repeat="records">
  16. <td>{{CustomerName}}</td>
  17. <td>{{City}}</td>
  18. <td>{{Country}}</td>
  19. </tr>
  20. </table>
  21. <div appml-include-html="/example/appml/inc_footer.html"></div>
  22. <script>
  23. function myController($appml) {
  24. }
  25. </script>
  26. </body>
  27. </html>
属性描述解释
appml-controller定义一个 AppML 控制器AppML 控制器
appml-data定义应用程序的数据源AppML 数据
appml-include-html定义如何包含 HTMLAppML 包含 HTML
appml-repeat定义要重复的 HTML 元素AppML 如何使用

AppML 消息

实例
  1. <!DOCTYPE html>
  2. <html>
  3. <title>Customers</title>
  4. <link rel="stylesheet" href="/example/appml/style.css">
  5. <script src="https://cankaoshouce.com/js/appml/appml.js"></script>
  6. <body>
  7. <h2>Customers</h2>
  8. <table appml-data="/example/appml/customers.js" appml-controller="myController">
  9. <tr>
  10. <th>Customer</th>
  11. <th>City</th>
  12. <th>Country</th>
  13. </tr>
  14. <tr appml-repeat="records">
  15. <td>{{CustomerName}}</td>
  16. <td>{{City}}</td>
  17. <td>{{Country}}</td>
  18. </tr>
  19. </table>
  20. <script>
  21. function myController($appml) {
  22. if ($appml.message == "display") {
  23. if ($appml.display.name == "CustomerName") {
  24. $appml.display.value = $appml.display.value.toUpperCase();
  25. }
  26. }
  27. }
  28. </script>
  29. </body>
  30. </html>
消息发送
ready启动 AppML 并准备加载数据后。
loadedAppML 完全加载后,准备显示数据。
display在 AppML 显示数据项之前。
doneAppML 完成后(完成显示)。
submit在 AppML 提交数据之前。
errorAppML 遇到错误后。

更多关于 AppML 消息 的知识请访问 AppML 消息


AppML 模型

实例
  1. {
  2. "security": "admin",
  3. "rowsperpage" : 10,
  4. "database": {
  5. "connection": "mysql",
  6. "sql" : "SELECT * FROM Customers",
  7. "orderby" : "CustomerName"}},
  8. "filteritems" : [
  9. {"item" : "CustomerName", "label" : "Customer"},
  10. {"item" : "City"},
  11. {"item" : "Country"}],
  12. "sortitems" : [
  13. {"item" : "CustomerName", "label" : "Customer"},
  14. {"item" : "City"},
  15. {"item" : "Country"}]
  16. }

AppML 模型属性

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

应用程序安全性

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

实例
  1. {
  2. "security": "admin",
  3. "database": {
  4. "connection": "mysql",
  5. "sql" : "SELECT * FROM Customers",
  6. "orderby" : "CustomerName"}
  7. }

私有模型

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

这个例子表明了对数据的限制:

实例
  1. "restrictions" : {
  2. "fname" : {"maxlength": 40},
  3. "price" : {"max": 999,"min": 100}
  4. }

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

本例使用模型数据验证输入:

实例
  1. function myController($appml) {
  2. if ($appml.message == "submit") {
  3. var price = document.getElementById("price").value;
  4. if (price < $appml.model.restrictions.price.min) {
  5. $appml.displayError(15, "Price too low!");
  6. return;
  7. }
  8. }