ล่าสุดการพัฒนาเว็บบทเรียน
 

AppMLข้อความ


ข้อความ 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 คำอธิบายข้อผิดพลาด