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