Angular 1
Introducción
Angular 1 es un framework javascript que facilita la creación de aplicaciones web dinámicas. Las características principales son:
extiende HTML con nuevos elementos de marcado llamadas Directivas: tags y atributos; el desarrollador crea las páginas html (templates) de su aplicación utilizando estos nuevos elementos. El objetivo es que la aplicación se entienda al leer los templates.
tiene un modelo (scope) donde se encadena los datos (data binding) de la vista (template) con un controlador de tal forma que el desarrollador no debe preocuparse por la actualización de la información que se está desplegando.
El siguiente ejemplo tomado de angular guide ilustra las nociones anteriores.
La siguiente es una página html normal (estática) que muestra dos cajas de entrada pero no hay comportamiento definido. (Por favor ejecútela en plunker.io)
En la siguiente sección usaremos Angular sobre la página anterior para agregarle comportamiento.
Directivas
Queremos que el usuario pueda ingresar datos en los campos de entrada y se calcule el valor total. Utilizando Directivas Angular predefinidas (por favor ejecute de nuevo en plunker):
En este ejemplo, se ha agregado al HTML varios elementos:
- Se ha incluido la librería de angular
- Se ha añadido elementos de marcado de angular:
Elemento | Significado |
---|---|
ng-app |
Indica que es una aplicación angular. |
ng-model |
Permite definir variables que tomarán valor en el template y que se sincronizarán con el controlador (este ejemplo aún no hay controlador). |
ng-init |
Permite inicializar las variables ng-model. |
- Se utiliza una expresión
{{qty * cost | currency}}
Tiene dos partes, la expresión que se evaluará y el formato en el que se desplegará la respuesta. Podemos agregar el atributong:required
a los campos de entrada y forzar que el usuario siempre escriba un valor:
<input type="number" min="0" ng-model="cost" ng:required>
Las directivas son marcadores en un elemento DOM (como un atributo, nombre del elemento, comentario o clase CSS). El compilador de HTML de Angular:
- Asocia con el elemento DOM un comportamiento especifico, o puede,
- Transformar el elemento DOM y sus hijos.