AppML- Nachrichten
AppML-Nachrichten und -Aktionen
Wenn AppML im Begriff ist, eine Aktion auszuführen, sendet es das Anwendungsobjekt ($appml) an den Controller.
Eine der Eigenschaften des Anwendungsobjekts ist eine Nachricht ($appml.message), die den Anwendungsstatus beschreibt.
Durch das Testen dieser Nachricht können Sie je nach Aktion Ihren eigenen JavaScript-Code hinzufügen.
Beispiel
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
AppML-Nachrichten
Dies ist eine Liste von AppML-Nachrichten, die empfangen werden können:
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. |
Die „Fertig“-Meldung
Wenn eine AppML-Anwendung zum Laden von Daten bereit ist, sendet sie eine „Bereit“-Nachricht.
Hier ist der perfekte Ort, um der Anwendung Ausgangsdaten (Startwerte) zu liefern:
Beispiel
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<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>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "W3Schools"
}
}
</script>
Wenn im obigen Beispiel die $appml.message „bereit“ ist, fügt der Controller der Anwendung zwei neue Eigenschaften hinzu ( today und copyright ).
Wenn die Anwendung ausgeführt wird, sind die neuen Eigenschaften für die Anwendung verfügbar.
Die "geladene" Nachricht
Wenn eine AppML-Anwendung mit Daten geladen wird (zur Anzeige bereit), sendet sie eine „ geladene “ Nachricht.
Dies ist der perfekte Ort, um (falls erforderlich) Änderungen an den geladenen Daten vorzunehmen.
Beispiel
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
Die "Anzeige"-Nachricht
Jedes Mal, wenn AppML ein Datenelement anzeigt, sendet es eine „ Display “-Nachricht.
Dies ist der perfekte Ort, um die Ausgabe zu ändern:
Beispiel
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<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>
</div>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Im obigen Beispiel wird „CustomerName“ auf 15 Zeichen gekürzt und „Country“ in Großbuchstaben umgewandelt.
Die „Fertig“-Meldung
Wenn eine AppML-Anwendung die Anzeige der Daten beendet hat, sendet sie eine „Fertig “ -Nachricht.
Dies ist der perfekte Ort, um Anwendungsdaten (nach der Anzeige) zu bereinigen oder zu berechnen.
Beispiel
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
Die „Submit“-Nachricht
Wenn eine AppML-Anwendung bereit ist, Daten zu übermitteln, sendet sie eine „submit “ -Nachricht.
Dies ist der perfekte Ort, um Anwendungseingaben zu validieren.
Beispiel
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
Die "Fehler"-Meldung
Wenn ein Fehler auftritt, sendet AppML eine „ Fehler “-Nachricht.
Dies ist der perfekte Ort, um mit Fehlern umzugehen.
Beispiel
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
AppML-Eigenschaften
Dies ist eine Liste einiger häufig verwendeter AppML-Eigenschaften:
Property | Description |
---|---|
$appml.message | The current state of the application. |
$appml.display.name | The name of the data field about to be displayed. |
$appml.display.value | The value of the data field about to be displayed. |
$appml.error.number | The error number. |
$appml.error.description | The error description. |