AppML- Controller
Der Zweck eines AppML-Controllers besteht darin, Ihnen die Kontrolle über Ihre Anwendung zu ermöglichen.
Was kann ein Controller?
- Anfangsdaten einstellen
- Anwendungsdaten ändern
- Eingabe und Ausgabe verarbeiten
- Daten validieren
- Daten zusammenfassen
- Fehler behandeln
- Anwendungen starten und stoppen
- Und vieles mehr
Ohne Controller
Standardmäßig werden AppML-Anwendungen ohne Controller ausgeführt:
Beispiel
<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>
Mit einem Controller
Mit einem AppML-Controller können Sie Ihre Anwendung mit JavaScript steuern .
Der Controller ist eine von Ihnen bereitgestellte JavaScript-Funktion .
Das appml-controller- Attribut wird verwendet, um auf eine Controller-Funktion zu verweisen.
Beispiel
<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>
Der Controller (myController) im obigen Beispiel ändert den Wert von „CustomerName“ in Großbuchstaben, bevor er angezeigt wird.
Wenn Sie einen Controller haben, sendet AppML das Anwendungsobjekt ($appml) für jede wichtige Aktion an den Controller.
Eine der Anwendungseigenschaften ist eine Nachricht ($appml.message), die den Anwendungsstatus beschreibt.
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. |
Meldungen werden im nächsten Kapitel erklärt.