ข้อความ AppML และการดำเนินการ
เมื่อ AppML เป็นเรื่องเกี่ยวกับการดำเนินการก็จะส่งวัตถุแอพลิเคชัน ($appml) ไปยังตัวควบคุม
หนึ่งในคุณสมบัติของวัตถุของโปรแกรมประยุกต์เป็นข้อความ ($appml.message) อธิบายรัฐแอพลิเคชัน
ทดสอบข้อความนี้ช่วยให้คุณสามารถเพิ่มโค้ดจาวาสคริปต์ของคุณเองขึ้นอยู่กับการกระทำ
ตัวอย่าง
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
ลองตัวเอง» ข้อความ AppML
นี่คือรายการของข้อความ AppML ที่สามารถได้รับ:
ข่าวสาร | ลักษณะ |
---|---|
"ready" | ส่งหลังจาก AppML เริ่มต้นขึ้นและพร้อมที่จะโหลดข้อมูล |
"loaded" | ส่งหลังจาก AppML เป็นแปล้พร้อมที่จะแสดงข้อมูล |
"display" | ส่งก่อน AppML แสดงรายการข้อมูล |
"done" | ส่งหลังจาก AppML จะทำ (finished displaying) |
"submit" | ส่งก่อน AppML ส่งข้อมูล |
"error" | ส่งหลังจาก AppML พบข้อผิดพลาด |
"ready" ข้อความ
เมื่อโปรแกรมประยุกต์ AppML พร้อมที่จะโหลดข้อมูลก็จะส่ง "ready" ข้อความ
นี้เป็นสถานที่ที่สมบูรณ์แบบเพื่อให้แอพลิเคชันที่มีข้อมูลเบื้องต้น (start values) :
ตัวอย่าง
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<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>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "w3ii"
}
}
</script>
ลองตัวเอง» ในตัวอย่างข้างต้นเมื่อ $ appml.message เป็น "ready" ควบคุมเพิ่มคุณสมบัติใหม่สองไปยังโปรแกรมประยุกต์ ( today and copyright )
เมื่อโปรแกรมประยุกต์ที่ทำงานคุณสมบัติใหม่ที่มีอยู่ไปยังโปรแกรมประยุกต์
"loaded" ข้อความ
เมื่อโปรแกรมประยุกต์ AppML จะเต็มไปด้วยข้อมูล (ready to display) ก็จะส่ง " loaded " ข้อความ
นี้เป็นสถานที่ที่สมบูรณ์แบบเพื่อให้การเปลี่ยนแปลง (if necessary) ข้อมูลที่โหลด
ตัวอย่าง
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
"display" ข้อความ
แต่ละครั้งที่ AppML แสดงรายการข้อมูลก็จะส่ง " display " ข้อความ
นี้เป็นสถานที่ที่สมบูรณ์แบบในการปรับเปลี่ยนการส่งออก:
ตัวอย่าง
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<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>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
ลองตัวเอง» ในตัวอย่างข้างต้น "CustomerName" ถูกตัดทอนถึง 15 ตัวอักษรและ "Country" จะถูกแปลงเป็นกรณีบน
"done" ข้อความ
เมื่อโปรแกรมประยุกต์ AppML ได้เสร็จสิ้นการแสดงข้อมูลก็จะส่ง " done " ข้อความ
นี้เป็นสถานที่ที่สมบูรณ์แบบในการทำความสะอาดหรือคำนวณข้อมูลใบสมัคร (หลังจากการแสดงผล)
ตัวอย่าง
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
"submit" ข้อความ
เมื่อโปรแกรมประยุกต์ AppML คือพร้อมที่จะส่งข้อมูลก็จะส่ง " submit " ข้อความ
นี้เป็นสถานที่ที่สมบูรณ์แบบในการตรวจสอบการป้อนข้อมูลแอพลิเคชัน
ตัวอย่าง
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
"error" ข้อความ
หากมีข้อผิดพลาดเกิดขึ้น AppML จะส่ง " error " ข้อความ
นี้เป็นสถานที่ที่สมบูรณ์แบบในการจัดการกับข้อผิดพลาด
ตัวอย่าง
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
คุณสมบัติ AppML
นี่คือรายการของบางอย่างที่ใช้กันทั่วไป AppML คุณสมบัติ:
คุณสมบัติ | ลักษณะ |
---|---|
$appml.message | สถานะปัจจุบันของแอพลิเคชัน |
$appml.display.name | ชื่อของเขตข้อมูลเกี่ยวกับการที่จะแสดง |
$appml.display.value | ค่าของฟิลด์ข้อมูลเกี่ยวกับการที่จะแสดง |
$appml.error.number | หมายเลขข้อผิดพลาด |
$appml.error.description | คำอธิบายข้อผิดพลาด |