Последние учебники веб-разработки
 

AppML Сообщения


AppML Сообщения и действия

Когда AppML собирается выполнить действие, он посылает объект приложения ($appml) к контроллеру.

Одним из свойств объекта приложения является сообщением ($appml.message) , описывающее состояние приложения.

Тестирование этого сообщения позволяет добавить свой собственный код JavaScript, в зависимости от действия.

пример

function myController($appml) {
    if ($appml.message == "ready") {alert ("Hello Application");}
}
Попробуй сам "

AppML сообщения

Это список сообщений AppML, которые могут быть получены:

Сообщение Описание
"ready" Направлено после AppML инициируют, и готов к загрузке данных.
"loaded" Направлено после AppML полностью загружен, готовы для отображения данных.
"display" Посылается перед AppML отображается элемент данных.
"done" Направлено после AppML делается (finished displaying) .
"submit" Посылается перед AppML представляет данные.
"error" Направлено после AppML обнаружила ошибку.

"ready" сообщение

Когда приложение AppML готов к загрузке данных, он будет посылать "ready" сообщение.

Это идеальное место , чтобы обеспечить приложение с начальными данными (start values) :

пример

<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>
Попробуй сам "

В приведенном выше примере, когда $ appml.message является "ready" , контроллер добавляет два новых свойства приложения ( today and copyright ) .

При запуске приложения, новые свойства доступны для приложения.


"loaded" сообщение

Когда приложение AppML загружаются с данными (ready to display) , он будет посылать " loaded " сообщение.

Это идеальное место , чтобы обеспечить изменения (if necessary) в загруженных данных.

пример

function myController($appml) {
    if ($appml.message == "loaded") {
        // compute your values here before display
    }
}

"display" сообщение

Каждый раз , когда AppML отображает элемент данных, он будет посылать " display " сообщение.

Это идеальное место, чтобы изменить вывод:

пример

<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>
Попробуй сам "

В приведенном выше примере, "CustomerName" усекается до 15 символов, и "Country" преобразуется в верхний регистр.


"done" сообщение

Когда приложение AppML закончит отображение данных, он будет посылать " done " сообщение.

Это идеальное место, чтобы очистить или рассчитать данные приложения (после показа).

пример

<script>
function myController($appml) {
    if ($appml.message == "done") {
        calculate data here
    }
}
</script>

"submit" сообщение

Когда приложение AppML готово представить данные, он будет посылать " submit " сообщение.

Это идеальное место для проверки вводимых данных приложений.

пример

<script>
function myController($appml) {
    if ($appml.message == "submit") {
        validate data here
    }
}
</script>

"error" сообщение

Если возникает ошибка, AppML будет посылать " error " сообщение.

Это идеальное место для обработки ошибок.

пример

<script>
function myController($appml) {
    if ($appml.message == "error") {
        alert ($appml.error.number + " " + $appml.error.description)
    }
}
</script>

AppML Свойства

Это список некоторых наиболее часто используемых свойств AppML:

Имущество Описание
$appml.message Текущее состояние приложения.
$appml.display.name Имя поля данных о будет отображаться.
$appml.display.value Значение поля данных о будет отображаться.
$appml.error.number Номер ошибки.
$appml.error.description Описание ошибки.