Kontrolery AppML


Celem kontrolera AppML jest umożliwienie Ci kontrolowania Twojej aplikacji.


Co może zrobić kontroler?

  • Ustaw dane początkowe
  • Zmień dane aplikacji
  • Obsługa wejścia i wyjścia
  • Sprawdź poprawność danych
  • Podsumuj dane
  • Obsługa błędów
  • Uruchamiaj i zatrzymuj aplikacje
  • I wiele więcej

Bez kontrolera

Domyślnie aplikacje AppML działają bez kontrolera:

Przykład

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

Z kontrolerem

Za pomocą kontrolera AppML możesz sterować swoją aplikacją za pomocą JavaScript .

Kontrolerem jest funkcja JavaScript, dostarczona przez Ciebie .

Atrybut appml -controller jest używany do odwoływania się do funkcji kontrolera.

Przykład

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

Kontroler (myController) w powyższym przykładzie zmienia wartość "CustomerName" na wielkie litery, zanim zostanie wyświetlona.

Jeśli masz kontroler, AppML wyśle obiekt aplikacji ($appml) do kontrolera dla każdej ważnej akcji.

Jedną z właściwości aplikacji jest komunikat ($appml.message), opisujący stan aplikacji.

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.

Komunikaty wyjaśniono w następnym rozdziale.