ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ
AppML. Уроки для начинающих

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 завершен (отображение завершено)
"submit" Отправляется до того, как AppML отправит данные
"error" Отправляется после того, как AppML обнаружил ошибку

Сообщение "ready" (готово)

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

Это идеальное место для предоставления приложению исходных данных (начальных значений):

Пример

<div appml-controller="myController" appml-data="customers.js">
<h1>Клиенты</h1>
<p>{{today}}</p>
<table>
  <tr>
    <th>Клиент</th>
    <th>Город</th>
    <th>Страна</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>
Попробуйте сами »

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

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


Сообщение "loaded" (загружено)

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

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

Пример

function myController($appml) {
    if ($appml.message == "loaded") {
        // вычислите свои значения здесь перед отображением
    }
}

Сообщение "display" (отобразить)

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

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

Пример

<div appml_app="myController" appml-data="customers.js">
<h1>Клиенты</h1>
<table>
  <tr>
    <th>Клиент</th>
    <th>Город</th>
    <th>Страна</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") {
        рассчет данных здесь
    }
}
</script>

Сообщение "submit" (отправить)

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

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

Пример

<script>
function myController($appml) {
    if ($appml.message == "submit") {
        проверка данных здесь
    }
}
</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 Описание ошибки