Tujuan dari controller AppML, adalah untuk membiarkan Anda mengontrol aplikasi Anda.
Apa yang Bisa Controller Lakukan?
- Set data awal
- Data perubahan aplikasi
- Menangani input dan output
- memvalidasi data
- meringkas data
- menangani kesalahan
- Memulai dan menghentikan aplikasi
- Dan banyak lagi
Tanpa Controller
Secara default aplikasi AppML berjalan tanpa controller:
Contoh
<table appml-data="customers.js " >
<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>
Cobalah sendiri " Dengan Controller
Dengan controller AppML, Anda dapat mengontrol aplikasi Anda dengan JavaScript.
Controller adalah fungsi JavaScript, yang disediakan oleh Anda.
The appml-controller atribut digunakan untuk merujuk ke fungsi pengendali.
Contoh
<h1>Customers</h1>
<table appml-data="customers.js" appml-controller="myController ">
<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>
<script>
function myController($appml) {
if ($appml.message == "display") {
if ($appml.display.name == "CustomerName")
{
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Cobalah sendiri " Controller (myControlller) dalam contoh di atas, perubahan nilai "CustomerName" untuk huruf besar, sebelum ditampilkan.
Jika Anda memiliki controller, AppML akan mengirimkan objek aplikasi ($appml) ke controller, untuk setiap tindakan yang penting.
Salah satu sifat aplikasi yang pesan ($appml.message) , menggambarkan kondisi aplikasi.
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. |
Pesan dijelaskan dalam bab berikutnya.