otro taller
AngularJS
para dummies
Angular JS
- framework de javascript
- expresivo, legible y rápido de desarrollar
- modelo MVC
extiende el HTML
exportable / rehutilizable
- Trabaja bien con otras tecnologías
- No necesita de un estado global
- (varias apps Angular en una misma página sin iframes)
injectable
- basada en inyección de dependencias
- nos permite cambiar el contexto de nuestros componentes
- facilita mucho los tests
pensado para ser testeado
- Fomenta la separación
comportamiento
/ vista
- mocks pre-empaquetados
- inyección de dependencias
- doc con de ejemplos de test
- KARMA (E2E también)
¿cuál mola más?
modelo
- se almacena usando $scope
- información a usar en las vistas
vista
Controlador
- lógica de negocio que interactua con la vista
- inicializan el $scope
- NO deben tocar el DOM
Services
- singletons
- lógica de negocio independiente de la vista
- angular trae muchos: $http, $animate, $locale...
usando servicios
- pensarlos para que sean reusables
- Solo se ejecutan cuando hay que satisfacer la dependencia
- ¡ No olvidarse de identificarlos como dependencia !
¡a programar!
servicio de restaurantes
- crear servicio
- usar servicio
filter
- formatean expresiones para mostrarlas a los usuarios
- pueden usarse en: plantillas de vista, controladores o servicios
¡a programar!
filtros en el listado
- ordenar el listado
- filtrar por campo de texto
- limitar número de resultados
directivas
- extienden el html con nuestros propios atributos y elementos
- el único sitio donde se toca el DOM
- si quieres tocar el DOM ¡escribe una directiva!
nombre de directivas
- evita problemas, ponles un prefijo. Angular usa 'ng-'
- camelCase en codigo -> fchHello
- '-' en el DOM -> fch-hello
creando directivas
- acordarse: dos pasadas compile(...) y link(...)
- muchas opciones: template,transclude, replace...
- templateUrl es nuestra amiga
scope en directivas
- '@' enlaza con el valor del atributo DOM
- '=' enlace bidireccional con el atributo
- '&' ejecuta una expresion en el contexto del scope padre
¡a programar!
directiva restaurante
- información detallada
- mostrará la imagen (si la tiene)
- se podrá abrir/cerrar la info
¡a programar!
Reto: añadir restaurante
- crear un formulario para recoger los datos
- el formulario debe validarlo
- el nuevo restaurante debe aparecer en el listado
enlaces
http://angularjs.org/
http://yeoman.io/
https://www.ng-book.com/
http://www.ng-newsletter.com/