Lo scopo di un controller AppML, è quello di poter controllare la vostra applicazione.
Cosa può fare un controller?
- Imposta dati iniziali
- Modificare i dati di applicazione
- Gestire l'input e l'output
- Convalida dei dati
- riassumere i dati
- gestire gli errori
- Avviare e arrestare le applicazioni
- E altro ancora
Senza un controller
Per impostazione predefinita, le applicazioni AppML eseguite senza un controller:
Esempio
<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>
Prova tu stesso " Con un controller
Con un controller AppML, è possibile controllare l'applicazione con JavaScript.
Il controller è una funzione JavaScript, fornito da voi.
appml-controller attributo viene utilizzato per fare riferimento a una funzione di controllo.
Esempio
<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>
Prova tu stesso " Il controller (myControlller) nell'esempio precedente, cambia il valore di "CustomerName" in maiuscolo, prima di essere visualizzato.
Se si dispone di un controller, AppML invierà l'oggetto applicazione ($appml) al controllore, per ogni azione importante.
Una delle proprietà dell'applicazione è un messaggio ($appml.message) , che descrive lo stato dell'applicazione.
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. |
I messaggi vengono spiegati nel prossimo capitolo.