O propósito de um controlador AppML, é permitir que você controlar a sua aplicação.
O que pode um controlador Fazer?
- Conjunto de dados inicial
- dados de mudança de aplicação
- Lidar com entrada e saída
- validar os dados
- resumir dados
- lidar com erros
- Iniciar e parar aplicações
- E muito mais
Sem um controlador
Por padrão aplicações AppML executado 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>
Tente você mesmo " Com um controlador
Com um controlador AppML, você pode controlar a sua aplicação com JavaScript.
O controlador é uma função JavaScript, fornecido por você.
O appml-controller atributo é utilizado para se referir a uma função de 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>
Tente você mesmo " O controlador (myControlller) no exemplo acima, altera o valor de "CustomerName" em maiúsculas, antes de ser exibido.
Se você tem um controlador, AppML irá enviar o objeto do aplicativo ($appml) para o controlador, para cada ação importante.
Uma das propriedades de aplicação é uma mensagem ($appml.message) , que descreve o estado da aplicação.
mensagem | Descrição |
---|---|
ready | Enviado após AppML é iniciada, e pronto para carregar dados. |
loaded | Enviado após AppML está totalmente carregada, pronto para exibir dados. |
display | Enviado antes AppML exibe um item de dados. |
done | Enviado após AppML é feito (finished displaying) . |
submit | Enviado antes AppML envia dados. |
error | Enviado após AppML encontrou um erro. |
As mensagens são explicadas no próximo capítulo.