Контроллеры AppML
Назначение контроллера AppML — позволить вам управлять своим приложением.
Что может контроллер?
- Установить исходные данные
- Изменить данные приложения
- Обработка ввода и вывода
- Проверить данные
- Суммировать данные
- Обработка ошибок
- Запуск и остановка приложений
- И многое другое
Без контроллера
По умолчанию приложения AppML работают без контроллера:
Пример
<table appml-data="customers.js">
<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>
С контроллером
С помощью контроллера AppML вы можете управлять своим приложением с помощью JavaScript .
Контроллер — это функция JavaScript, предоставленная вами .
Атрибут appml-controller используется для ссылки на функцию контроллера.
Пример
<h1>Customers</h1>
<table appml-data="customers.js" appml-controller="myController">
<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>
<script>
function myController($appml) {
if ($appml.message == "display") {
if ($appml.display.name == "CustomerName")
{
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Контроллер (myController) в приведенном выше примере изменяет значение «CustomerName» на верхний регистр перед его отображением.
Если у вас есть контроллер, AppML будет отправлять объект приложения ($appml) на контроллер для каждого важного действия.
Одним из свойств приложения является сообщение ($appml.message), описывающее состояние приложения.
Message | Description |
---|---|
ready | Sent after AppML is initiated, and ready to load data. |
loaded | Sent after AppML is fully loaded, ready to display data. |
display | Sent before AppML displays a data item. |
done | Sent after AppML is done (finished displaying). |
submit | Sent before AppML submits data. |
error | Sent after AppML has encountered an error. |
Сообщения объясняются в следующей главе.