Mensagens e ações AppML
Quando AppML está prestes a realizar uma ação, ele envia o objeto de aplicação ($appml) para o controlador.
Uma das propriedades do objecto pedido é uma mensagem ($appml.message) , que descreve o estado da aplicação.
Testando esta mensagem, permite que você adicione seu próprio código JavaScript, dependendo da ação.
Exemplo
function myController($appml) {
if ($appml.message == "ready") {alert ("Hello
Application");}
}
Tente você mesmo " Mensagens AppML
Esta é uma lista de mensagens AppML que pode ser recebido:
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. |
O "ready" mensagem
Quando um aplicativo AppML está pronto para carregar dados, ele irá enviar um "ready" mensagem.
Este é o lugar perfeito para fornecer o aplicativo com dados iniciais (start values) :
Exemplo
<div appml-controller="myController" appml-data="customers.js">
<h1>Customers</h1>
<p>{{today}}</p>
<table>
<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>
<p>Copyright {{copyright}}</p>
</div>
<script>
function myController($appml) {
if ($appml.message == "ready") {
$appml.today = new Date();
$appml.copyright = "w3ii"
}
}
</script>
Tente você mesmo " No exemplo acima, quando o $ appml.message é "ready" , o controlador adiciona duas novas propriedades para o aplicativo ( today and copyright ) .
Quando o aplicativo é executado, as novas propriedades estão disponíveis para a aplicação.
O "loaded" Mensagem
Quando um aplicativo AppML é carregado com dados (ready to display) , ele irá enviar um " loaded " mensagem.
Este é o lugar perfeito para proporcionar mudanças (if necessary) para os dados carregados.
Exemplo
function myController($appml) {
if ($appml.message == "loaded") {
// compute your values here before display
}
}
O "display" Mensagem
Cada vez AppML está exibindo um item de dados, ele irá enviar um " display " mensagem.
Este é o lugar perfeito para modificar a saída:
Exemplo
<div appml_app="myController" appml-data="customers.js">
<h1>Customers</h1>
<table>
<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>
</div>
<script>
function myController($appml) {
if
($appml.message == "display") {
if ($appml.display.name ==
"CustomerName") {
$appml.display.value = $appml.display.value.substr(0,15);
}
if ($appml.display.name == "Country") {
$appml.display.value = $appml.display.value.toUpperCase();
}
}
}
</script>
Tente você mesmo " No exemplo acima, "CustomerName" é truncado para 15 caracteres, e "Country" é convertido em letras maiúsculas.
O "done" Mensagem
Quando um aplicativo AppML terminou a exibição de dados, ele irá enviar um " done " mensagem.
Este é o lugar perfeito para limpar ou calcular dados de aplicação (após visor).
Exemplo
<script>
function myController($appml) {
if ($appml.message == "done") {
calculate data here
}
}
</script>
O "submit" mensagem
Quando um aplicativo AppML está pronto para enviar dados, ele irá enviar um " submit " mensagem.
Este é o lugar perfeito para validar a entrada do aplicativo.
Exemplo
<script>
function myController($appml) {
if ($appml.message == "submit") {
validate data here
}
}
</script>
O "error" Mensagem
Se ocorrer um erro, AppML irá enviar um " error " mensagem.
Este é o lugar perfeito para lidar com erros.
Exemplo
<script>
function myController($appml) {
if ($appml.message ==
"error") {
alert ($appml.error.number + " " + $appml.error.description)
}
}
</script>
Propriedades AppML
Esta é uma lista de algumas propriedades AppML comumente usados:
Propriedade | Descrição |
---|---|
$appml.message | O estado atual do aplicativo. |
$appml.display.name | O nome do campo de dados prestes a ser exibido. |
$appml.display.value | O valor do campo de dados prestes a ser exibido. |
$appml.error.number | O número de erro. |
$appml.error.description | A descrição do erro. |