Цель контроллера 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>
Попробуй сам " Контроллер (myControlller) в приведенном выше примере, изменяет значение "CustomerName" в верхний регистр, прежде чем он будет отображаться.
Если у вас есть контроллер, AppML отправит объект приложения ($appml) в контроллер, для каждого важного мероприятия.
Одним из свойств приложения является сообщением ($appml.message) , описывающее состояние приложения.
Сообщение | Описание |
---|---|
ready | Направлено после AppML инициируют, и готов к загрузке данных. |
loaded | Направлено после AppML полностью загружен, готовы для отображения данных. |
display | Посылается перед AppML отображается элемент данных. |
done | Направлено после AppML делается (finished displaying) . |
submit | Посылается перед AppML представляет данные. |
error | Направлено после AppML обнаружила ошибку. |
Сообщения описаны в следующей главе.