AppML 原型


在本章中,我们将为 Web 应用程序构建一个原型。


创建 HTML 原型

首先,打造一个体面的HTML原型,使用您最喜欢的 CSS。

我们在此示例中使用了 W3.CSS:

示例

<!DOCTYPE html>
<html lang="en-US">

<title>Customers</title>
<link rel="stylesheet" href="https://www.91xjr.com/w3css/4/w3.css">

<body>

<div class="w3-container">
<h1>Customers</h1>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
  </tr>
</table>
</div>

</body>
</html>
亲自试一试»

{{ ... }} 是未来数据的占位符。


添加AppML

创建 HTML 原型后,您可以添加 AppML:

示例

<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.91xjr.com/w3css/4/w3.css">
<script src="https://www.91xjr.com/appml/2.0.3/appml.js"></script>
<script src="https://www.91xjr.com/appml/2.0.3/appml_sql.js"></script>
<body>

<div class="w3-container" appml-data="customers.js">
<h1>Customers</h1>
<table class="w3-table-all">
  <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>

</body>
</html>
亲自试一试»

添加AppML:

<脚本src="https://www.91xjr.com/appml/2.0.3/appml.js">

添加本地WebSQL数据库:

<脚本src="https://www.91xjr.com/appml/2.0.3/appml_sql.js">

定义数据源:

appml-data="customers.js"

定义记录中每条记录重复的 HTML 元素:

appml_repeat="records"

为了简单起见,从本地数据开始,例如 客户.js在连接到数据库之前。



创建 AppML 模型

为了能够使用数据库,您将需要一个 AppML 数据库模型:

proto_customers.js

{
"rowsperpage" : 10,
"database" : {
"connection" : "localmysql",
"sql" : "Select * from Customers",
"orderby" : "CustomerName",
}

如果您没有本地数据库,可以使用 AppML 模型创建 Web SQL 数据库。

要创建包含单个记录的表,请使用如下模型: proto_customers_single.js

创建本地数据库在 IE 或 Firefox 中不起作用。使用 Chrome 或 Safari。

在您的应用程序中使用该模型。将数据源更改为本地?模型=proto_customers_single:

示例

<div class="w3-container" appml-data=" local?model=proto_customers_single">
<h1>Customers</h1>
<table class="w3-table-all">
  <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>
亲自试一试»

创建具有多条记录的本地数据库

要创建包含多条记录的表,请使用如下模型: proto_customers_all.js

将数据源更改为本地?模型=proto_customers_all

示例

<div class="w3-container" appml-data=" local?model=proto_customers_all">
<h1>Customers</h1>
<table class="w3-table-all">
  <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>
亲自试一试»

添加导航模板

假设您希望所有应用程序都有一个通用的导航工具栏:

为其创建一个 HTML 模板:

inc_listcommands.htm

<div class="w3-bar w3-border w3-section">
<button class="w3-button" id='appmlbtn_first'>&#10094;&#10094;</button>
<button class="w3-button" id='appmlbtn_previous'>&#10094;</button>
<button class="w3-button w3-hover-none" id='appmlbtn_text'></button>
<button class="w3-button" id='appmlbtn_next'>&#10095;</button>
<button class="w3-button" id='appmlbtn_last'>&#10095;&#10095;</button>
<button class="w3-btn ws-green" id='appmlbtn_query'>Filter</button>
</div>

<div id="appmlmessage"></div>

使用适当的名称(如 "inc_listcommands.htm")将模板保存在文件中。

将模板包含在具有属性的原型中appml 包含 html:

示例

<div class="w3-container" appml-data="local?model=proto_customers_all">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>

<table class="w3-table-all">
  <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>
亲自试一试»