Zprávy AppML
Zprávy a akce AppML
Když se AppML chystá provést akci, odešle aplikační objekt ($appml) do řadiče.
Jednou z vlastností aplikačního objektu je zpráva ($appml.message), popisující stav aplikace.
Testování této zprávy vám umožní přidat svůj vlastní kód JavaScript v závislosti na akci.
Příklad
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Zprávy AppML
Toto je seznam zpráv AppML, které lze přijímat:
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. |
"Připravená" zpráva
Když je aplikace AppML připravena načíst data, odešle zprávu „připraveno“.
Toto je ideální místo pro poskytnutí počátečních dat aplikaci (počáteční hodnoty):
Příklad
<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>
Ve výše uvedeném příkladu, když je $appml.message "připraven", ovladač přidá do aplikace dvě nové vlastnosti ( dnešní a copyright ).
Po spuštění aplikace jsou nové vlastnosti dostupné aplikaci.
"Načtená" zpráva
Když je aplikace AppML načtena daty (připravena k zobrazení), odešle zprávu „ načteno “.
Toto je ideální místo pro provádění změn (v případě potřeby) načtených dat.
Příklad
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
"Zobrazená" zpráva
Pokaždé, když AppML zobrazí datovou položku, odešle zprávu „ zobrazit “.
Toto je ideální místo pro úpravu výstupu:
Příklad
<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>
Ve výše uvedeném příkladu je „CustomerName“ zkrácen na 15 znaků a „Country“ je převedeno na velká písmena.
Zpráva „hotovo“.
Když aplikace AppML dokončí zobrazování dat, odešle zprávu „ hotovo “.
Toto je ideální místo pro vyčištění nebo výpočet dat aplikace (po zobrazení).
Příklad
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
"Odeslat" zprávu
Když je aplikace AppML připravena odeslat data, odešle zprávu „ odeslat “.
Toto je ideální místo pro ověření vstupu aplikace.
Příklad
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
"Chybová" zpráva
Pokud dojde k chybě, AppML odešle " chybovou " zprávu.
Toto je ideální místo pro řešení chyb.
Příklad
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Vlastnosti AppML
Toto je seznam některých běžně používaných vlastností AppML:
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. |