AppML xabarlari
AppML xabarlari va amallari
AppML biror amalni bajarish arafasida bo‘lganda, ilova obyektini ($appml) kontrollerga yuboradi.
Ilova obyektining xususiyatlaridan biri — ilova holatini tavsiflovchi xabar ($appml.message).
Ushbu xabarni tekshirish orqali amalga qarab o‘zingizning JavaScript kodingizni qo‘shishingiz mumkin.
Misol
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello Application");}
}
O‘zingiz sinab ko‘ring »
AppML xabarlari
Quyida qabul qilinishi mumkin bo‘lgan AppML xabarlari ro‘yxati keltirilgan:
| Xabar | Tavsif |
|---|---|
| "ready" | AppML ishga tushirilib, ma’lumotlarni yuklashga tayyor bo‘lgandan keyin yuboriladi. |
| "loaded" | AppML to‘liq yuklanib, ma’lumotlarni ko‘rsatishga tayyor bo‘lgandan keyin yuboriladi. |
| "display" | AppML ma’lumot elementini ko‘rsatishdan oldin yuboriladi. |
| "done" | AppML ishini tugatgandan (ko‘rsatishni yakunlagandan) keyin yuboriladi. |
| "submit" | AppML ma’lumotlarni jo‘natishdan oldin yuboriladi. |
| "error" | AppML xatoga duch kelgandan keyin yuboriladi. |
"ready" xabari
AppML ilovasi ma’lumotlarni yuklashga tayyor bo‘lganda, u "ready" xabarini yuboradi.
Bu ilovani boshlang‘ich ma’lumotlar (boshlang‘ich qiymatlar) bilan ta’minlash uchun eng qulay joy:
Misol
<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 = "W3Schools"
}
}
</script>
O‘zingiz sinab ko‘ring »
Yuqoridagi misolda $appml.message qiymati "ready" bo‘lganda, kontroller ilovaga ikkita yangi xususiyat qo‘shadi (today va copyright).
Ilova ishga tushganda, yangi xususiyatlardan ilovada foydalanish mumkin bo‘ladi.
"loaded" xabari
AppML ilovasi ma’lumotlar bilan yuklanganda (ko‘rsatishga tayyor bo‘lganda), u "loaded" xabarini yuboradi.
Bu yuklangan ma’lumotlarga (zarur bo‘lsa) o‘zgartirishlar kiritish uchun eng qulay joy.
Misol
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
"display" xabari
AppML har safar ma’lumot elementini ko‘rsatayotganda "display" xabarini yuboradi.
Bu natijani o‘zgartirish uchun eng qulay joy:
Misol
<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>
O‘zingiz sinab ko‘ring »
Yuqoridagi misolda "CustomerName" 15 ta belgigacha qisqartiriladi, "Country" esa katta harflarga o‘zgartiriladi.
"done" xabari
AppML ilovasi ma’lumotlarni ko‘rsatishni tugatgach, "done" xabarini yuboradi.
Bu ilova ma’lumotlarini (ko‘rsatilgandan keyin) tozalash yoki hisoblash uchun eng qulay joy.
Misol
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
"submit" xabari
AppML ilovasi ma’lumotlarni jo‘natishga tayyor bo‘lganda, "submit" xabarini yuboradi.
Bu ilovaga kiritilgan ma’lumotlarni tekshirish (validatsiya qilish) uchun eng qulay joy.
Misol
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
"error" xabari
Agar xato yuz bersa, AppML "error" xabarini yuboradi.
Bu xatolarni qayta ishlash uchun eng qulay joy.
Misol
<script>
function myController($appml) {
if ($appml.message == "error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML xususiyatlari
Quyida ko‘p ishlatiladigan ayrim AppML xususiyatlari ro‘yxati keltirilgan:
| Xususiyat | Tavsif |
|---|---|
| $appml.message | Ilovaning joriy holati. |
| $appml.display.name | Ko‘rsatilish arafasidagi ma’lumot maydonining nomi. |
| $appml.display.value | Ko‘rsatilish arafasidagi ma’lumot maydonining qiymati. |
| $appml.error.number | Xato raqami. |
| $appml.error.description | Xato tavsifi. |
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
