AppML Messaggi e azioni
Quando AppML sta per compiere un'azione, si invia l'oggetto di applicazione ($appml) al controller.
Una delle proprietà dell'oggetto applicazione è un messaggio ($appml.message) , che descrive lo stato dell'applicazione.
Testare questo messaggio, vi permette di aggiungere il proprio codice JavaScript, a seconda dell'azione.
Esempio
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Prova tu stesso " Messaggi AppML
Questa è una lista di messaggi AppML che può essere ricevuto:
Messaggio | Descrizione |
---|---|
"ready" | Inviata dopo AppML è avviato, e pronto a caricare i dati. |
"loaded" | Inviata dopo AppML è a pieno carico, pronto per visualizzare i dati. |
"display" | Inviato prima AppML visualizza un elemento di dati. |
"done" | Inviato dopo AppML è fatto (finished displaying) . |
"submit" | Inviato prima AppML presenta dati. |
"error" | Inviata dopo AppML ha riscontrato un errore. |
Il "ready" Messaggio
Quando un'applicazione AppML è pronto per caricare i dati, invierà un "ready" messaggio.
Questo è il luogo ideale per fornire l'applicazione con dati iniziali (start values) :
Esempio
<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>
Prova tu stesso " Nell'esempio di cui sopra, quando il $ appml.message è "ready" , il controllore aggiunge due nuove proprietà per l'applicazione ( today and copyright ) .
Quando l'applicazione viene eseguita, le nuove proprietà sono disponibili per l'applicazione.
Il "loaded" Messaggio
Quando un'applicazione AppML viene caricato con i dati (ready to display) , invierà un " loaded " il messaggio.
Questo è il luogo ideale per fornire modifiche (if necessary) i dati caricati.
Esempio
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
Il "display" Messaggio
Ogni volta AppML è la visualizzazione di un elemento di dati, invierà un " display " messaggio.
Questo è il luogo ideale per modificare l'output:
Esempio
<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>
Prova tu stesso " Nell'esempio di cui sopra, "CustomerName" viene troncato a 15 caratteri, e "Country" viene convertito in lettere maiuscole.
Il "done" Messaggio
Quando un'applicazione AppML ha terminato la visualizzazione dei dati, invierà un " done " il messaggio.
Questo è il luogo ideale per ripulire o calcolare i dati delle applicazioni (dopo il display).
Esempio
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
Il "submit" Messaggio
Quando un'applicazione AppML è pronta a presentare i dati, invierà un " submit " il messaggio.
Questo è il luogo ideale per convalidare l'input applicazione.
Esempio
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
Il "error" Messaggio
Se si verifica un errore, AppML invierà un " error " il messaggio.
Questo è il luogo perfetto per gestire gli errori.
Esempio
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Proprietà AppML
Questa è una lista di alcune proprietà AppML comunemente utilizzati:
Proprietà | Descrizione |
---|---|
$appml.message | Lo stato attuale della domanda. |
$appml.display.name | Il nome del campo di dati sta per essere visualizzato. |
$appml.display.value | Il valore del campo di dati sta per essere visualizzato. |
$appml.error.number | Il numero di errore. |
$appml.error.description | La descrizione di errore. |