Controladores AppML
A finalidade de um controlador AppML é permitir que você controle seu aplicativo.
O que um controlador pode fazer?
- Definir dados iniciais
- Alterar dados do aplicativo
- Manipular entrada e saída
- Validar dados
- Resumir dados
- Lidar com erros
- Iniciar e parar aplicativos
- E muito mais
Sem controlador
Por padrão, os aplicativos AppML são executados sem um controlador:
Exemplo
<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>
Com um controlador
Com um controlador AppML, você pode controlar seu aplicativo com JavaScript .
O controlador é uma função JavaScript, fornecida por você .
O atributo appml-controller é usado para se referir a uma função do controlador.
Exemplo
<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>
O controlador (myController) no exemplo acima, altera o valor de "CustomerName" para maiúscula, antes de ser exibido.
Se você tiver um controlador, o AppML enviará o objeto do aplicativo ($appml) ao controlador, para cada ação importante.
Uma das propriedades do aplicativo é uma mensagem ($appml.message), descrevendo o estado do aplicativo.
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. |
As mensagens são explicadas no próximo capítulo.