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.