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), що описує стан програми.
Повідомлення | Опис |
---|---|
ready | Надсилається після запуску AppML і готовий до завантаження даних |
loaded | Надсилається після повного завантаження AppML, готового до відображення даних |
display | Надсилається до того, як AppML відобразить елемент даних |
done | Надсилається після завершення AppML (відображення завершено) |
submit | Надсилається до того, як AppML надсилає дані |
error | Надсилається після того, як AppML виявив помилку |
Повідомлення пояснюються в наступному розділі.