Controller AppML
Lo scopo di un controller AppML è consentirti di controllare la tua applicazione.
Cosa può fare un controller?
- Imposta i dati iniziali
- Modifica i dati dell'applicazione
- Gestire input e output
- Convalida i dati
- Riassumi i dati
- Gestire gli errori
- Avvia e arresta le applicazioni
- E altro ancora
Senza un controllore
Per impostazione predefinita, le applicazioni AppML vengono 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>
Con un controllore
Con un controller AppML, puoi controllare la tua applicazione con JavaScript .
Il controller è una funzione JavaScript, fornita dall'utente .
L' attributo appml-controller viene utilizzato per fare riferimento a una funzione del controller.
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>
Il controller (myController) nell'esempio sopra, cambia il valore di "CustomerName" in maiuscolo, prima che venga visualizzato.
Se hai un controller, AppML invierà l'oggetto dell'applicazione ($appml) al controller, per ogni azione importante.
Una delle proprietà dell'applicazione è un messaggio ($appml.message), che descrive lo stato dell'applicazione.
Message | Description |
---|---|
ready | Sent after AppML is initiated, and ready to load data. |
loaded | Sent after AppML is fully loaded, ready to display data. |
display | Sent before AppML displays a data item. |
done | Sent after AppML is done (finished displaying). |
submit | Sent before AppML submits data. |
error | Sent after AppML has encountered an error. |
I messaggi sono spiegati nel capitolo successivo.