AppML Pesan dan Tindakan
Ketika AppML adalah untuk melakukan suatu tindakan, ia akan mengirimkan objek aplikasi ($appml) ke controller.
Salah satu sifat objek aplikasi adalah pesan ($appml.message) , menggambarkan kondisi aplikasi.
Pengujian pesan ini, memungkinkan Anda untuk menambahkan kode JavaScript Anda sendiri, tergantung pada tindakan.
Contoh
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Cobalah sendiri " AppML Pesan
Ini adalah daftar pesan AppML yang dapat diterima:
Pesan | Deskripsi |
---|---|
"ready" | Dikirim setelah AppML dimulai, dan siap untuk memuat data. |
"loaded" | Dikirim setelah AppML adalah penuh, siap untuk menampilkan data. |
"display" | Dikirim sebelum AppML menampilkan item data. |
"done" | Dikirim setelah AppML dilakukan (finished displaying) . |
"submit" | Dikirim sebelum AppML menyampaikan data. |
"error" | Dikirim setelah AppML telah mengalami kesalahan. |
The "ready" Pesan
Ketika sebuah aplikasi AppML siap untuk memuat data, ia akan mengirimkan "ready" pesan.
Ini adalah tempat yang sempurna untuk menyediakan aplikasi dengan data awal (start values) :
Contoh
<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>
Cobalah sendiri " Dalam contoh di atas, ketika $ appml.message adalah "ready" , controller menambahkan dua properti baru untuk aplikasi ( today and copyright ) .
Ketika aplikasi berjalan, sifat baru yang tersedia untuk aplikasi.
The "loaded" Pesan
Ketika sebuah aplikasi AppML dimuat dengan data (ready to display) , ia akan mengirim " loaded " pesan.
Ini adalah tempat yang sempurna untuk memberikan perubahan (if necessary) untuk data dimuat.
Contoh
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
The "display" Pesan
Setiap kali AppML adalah menampilkan item data, ia akan mengirimkan " display " pesan.
Ini adalah tempat yang sempurna untuk memodifikasi output:
Contoh
<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>
Cobalah sendiri " Dalam contoh di atas, "CustomerName" dipotong menjadi 15 karakter, dan "Country" diubah menjadi huruf besar.
The "done" Pesan
Ketika sebuah aplikasi AppML selesai menampilkan data, ia akan mengirimkan " done " pesan.
Ini adalah tempat yang sempurna untuk membersihkan atau menghitung data aplikasi (setelah display).
Contoh
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
The "submit" Pesan
Ketika sebuah aplikasi AppML siap untuk mengirimkan data, ia akan mengirimkan " submit " pesan.
Ini adalah tempat yang sempurna untuk memvalidasi input aplikasi.
Contoh
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
The "error" Pesan
Jika terjadi kesalahan, AppML akan mengirim " error " pesan.
Ini adalah tempat yang sempurna untuk menangani kesalahan.
Contoh
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML Properti
Ini adalah daftar dari beberapa sifat AppML umum digunakan:
Milik | Deskripsi |
---|---|
$appml.message | Keadaan saat aplikasi. |
$appml.display.name | Nama bidang data tentang yang akan ditampilkan. |
$appml.display.value | Nilai dari data lapangan tentang yang akan ditampilkan. |
$appml.error.number | Nomor kesalahan. |
$appml.error.description | Deskripsi kesalahan. |