Controladores de AppML
El propósito de un controlador AppML es permitirle controlar su aplicación.
¿Qué puede hacer un controlador?
- Establecer datos iniciales
- Cambiar datos de la aplicación
- Manejar entrada y salida
- Validar datos
- Resumir datos
- Manejar errores
- Iniciar y detener aplicaciones
- Y mucho más
Sin controlador
Por defecto, las aplicaciones AppML se ejecutan sin un controlador:
Ejemplo
<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>
con un controlador
Con un controlador AppML, puede controlar su aplicación con JavaScript .
El controlador es una función de JavaScript, proporcionada por usted .
El atributo appml-controller se usa para hacer referencia a una función de controlador.
Ejemplo
<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>
El controlador (myController) en el ejemplo anterior, cambia el valor de "CustomerName" a mayúsculas, antes de que se muestre.
Si tiene un controlador, AppML enviará el objeto de la aplicación ($appml) al controlador, para cada acción importante.
Una de las propiedades de la aplicación es un mensaje ($appml.message), que describe el estado de la aplicación.
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. |
Los mensajes se explican en el próximo capítulo.