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.