AppML Wiadomości i działania
Kiedy AppML ma zamiar wykonać działanie, wysyła przedmiot wniosku ($appml) do kontrolera.
Jedną z właściwości obiektu Application jest komunikat ($appml.message) , opisując stan aplikacji.
Testowanie tego komunikatu, pozwala na dodanie własnego kodu JavaScript, w zależności od działania.
Przykład
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Spróbuj sam " AppML Wiadomości
Poniżej znajduje się lista komunikatów AppML które mogą być odbierane:
Wiadomość | Opis |
---|---|
"ready" | Wysłane po AppML jest inicjowana i gotowe do wczytywania danych. |
"loaded" | Wysłane po AppML jest w pełni załadowany, gotowy do wyświetlania danych. |
"display" | Wysłane przed AppML wyświetla pozycję danych. |
"done" | Wysłane po AppML odbywa się (finished displaying) . |
"submit" | Wysłane przed AppML przekazuje dane. |
"error" | Wysłane po AppML wystąpił błąd. |
"ready" Message
Gdy aplikacja AppML jest gotowy do ładowania danych, wyśle "ready" wiadomość.
Jest to idealne miejsce, aby zapewnić aplikację z danych pierwotnych (start values) :
Przykład
<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 = "w3ii"
}
}
</script>
Spróbuj sam " W powyższym przykładzie, gdy $ appml.message jest "ready" , kontroler dodaje dwie nowe właściwości do zastosowania ( today and copyright ) .
Kiedy aplikacja zostanie uruchomiona, nowe właściwości dostępne dla aplikacji są.
"loaded" Message
Gdy aplikacja AppML jest ładowany z danymi (ready to display) , wyśle " loaded " wiadomość.
Jest to idealne miejsce, aby zapewnić zmiany (if necessary) do danych załadowanych.
Przykład
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
"display" Message
Za każdym razem AppML wyświetla pozycję danych, wyśle " display " wiadomość.
Jest to idealne miejsce, aby zmodyfikować dane wyjściowe:
Przykład
<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>
Spróbuj sam " W powyższym przykładzie, "CustomerName" jest obcinana do 15 znaków i "Country" przekształca się w górnej części obudowy.
"done" Message
Gdy aplikacja AppML zakończeniu wyświetlania danych, wyśle " done " wiadomość.
Jest to idealne miejsce, aby oczyścić lub obliczyć dane aplikacji (po wyświetlaczu).
Przykład
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
"submit" wiadomość
Gdy aplikacja AppML jest gotowa do przekazywania danych, wyśle " submit " wiadomość.
Jest to idealne miejsce, aby potwierdzić wejście aplikacji.
Przykład
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
"error" Wiadomość
Jeśli wystąpi błąd, AppML wyśle " error " wiadomość.
Jest to idealne miejsce do obsługi błędów.
Przykład
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Właściwości AppML
Poniżej znajduje się lista niektórych powszechnie stosowanych właściwości AppML:
Nieruchomość | Opis |
---|---|
$appml.message | Obecny stan aplikacji. |
$appml.display.name | Nazwa pola danych, który ma być wyświetlany. |
$appml.display.value | Wartość pola danych, który ma być wyświetlany. |
$appml.error.number | Numer błędu. |
$appml.error.description | Opis błędu. |