AppML- controllers


Het doel van een AppML-controller is om u uw applicatie te laten besturen .


Wat kan een controleur?

  • Initiële gegevens instellen
  • Applicatiegegevens wijzigen
  • Invoer en uitvoer verwerken
  • Gegevens valideren
  • Gegevens samenvatten
  • Omgaan met fouten
  • Toepassingen starten en stoppen
  • En nog veel meer

Zonder een controller

Standaard draaien AppML-applicaties zonder controller:

Voorbeeld

<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>

Met een controller

Met een AppML-controller kunt u uw applicatie besturen met JavaScript .

De controller is een JavaScript-functie, door u geleverd .

Het kenmerk appml-controller wordt gebruikt om naar een controllerfunctie te verwijzen.

Voorbeeld

<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>

De controller (myController) in het bovenstaande voorbeeld verandert de waarde van "CustomerName" in hoofdletters voordat deze wordt weergegeven.

Als je een controller hebt, stuurt AppML het applicatie-object ($appml) naar de controller voor elke belangrijke actie.

Een van de applicatie-eigenschappen is een bericht ($appml.message), dat de applicatiestatus beschrijft.

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.

Berichten worden uitgelegd in het volgende hoofdstuk.