Mesaje AppML și acțiuni
Când AppML este pe cale de a efectua o acțiune, acesta trimite obiectul de aplicare ($appml) la controler.
Una dintre proprietățile obiectului de aplicare este un mesaj ($appml.message) , care descrie starea aplicației.
Testarea acest mesaj, vă permite să adăugați propriul cod JavaScript, în funcție de acțiune.
Exemplu
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Încearcă - l singur » AppML Mesaje
Aceasta este o listă a mesajelor AppML care pot fi primite:
Mesaj | Descriere |
---|---|
"ready" | Trimis după AppML este inițiată, și gata pentru a încărca date. |
"loaded" | Trimis după AppML este complet încărcat, gata pentru a afișa date. |
"display" | Trimis înainte de AppML afișează un element de date. |
"done" | Trimis după AppML se face (finished displaying) . |
"submit" | Trimis înainte de AppML transmite date. |
"error" | Trimis după AppML a întâmpinat o eroare. |
"ready" Mesaj
Atunci când o aplicație AppML este gata pentru a încărca date, acesta va trimite un "ready" mesaj.
Acesta este locul perfect pentru a oferi aplicația cu datele inițiale (start values) :
Exemplu
<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>
Încearcă - l singur » In exemplul de mai sus, atunci când $ appml.message este "ready" , controlorul adaugă două noi proprietăți la cererea ( today and copyright ) de ( today and copyright ) .
Atunci când aplicația rulează, noile proprietăți sunt disponibile la cerere.
"loaded" Mesajul
Atunci când o aplicație AppML este încărcată cu date (ready to display) , acesta va trimite un " loaded " mesaj.
Acesta este locul perfect pentru a oferi modificări (if necessary) este (if necessary) la datele încărcate.
Exemplu
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
"display" Mesajul
De fiecare dată când AppML afișează un element de date, acesta va trimite un " display " mesaj.
Acesta este locul perfect pentru a modifica ieșire:
Exemplu
<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>
Încearcă - l singur » In exemplul de mai sus, "CustomerName" este trunchiată la 15 de caractere, și "Country" este convertit în majuscule.
"done" Mesajul
Atunci când o aplicație AppML a terminat afișarea datelor, acesta va trimite un " done " mesajul.
Acesta este locul perfect pentru a curăța sau de a calcula datele aplicației (după afișare).
Exemplu
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
"submit" Mesajul
Atunci când o cerere AppML este gata să prezinte date, acesta va trimite un " submit " mesajul.
Acesta este locul perfect pentru a valida intrare aplicație.
Exemplu
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
"error" Mesajul
Dacă apare o eroare, AppML va trimite o " error " mesaj.
Acesta este locul perfect pentru a trata erorile.
Exemplu
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML Proprietăți
Aceasta este o listă a unor proprietăți AppML utilizate în mod obișnuit:
Proprietate | Descriere |
---|---|
$appml.message | Starea actuală a cererii. |
$appml.display.name | Numele câmpului de date cu privire la care urmează să fie afișate. |
$appml.display.value | Valoarea câmpului de date cu privire la care urmează să fie afișate. |
$appml.error.number | Numărul de eroare. |
$appml.error.description | Descrierea erorii. |