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 | Описание ошибки |