Docs, Twitter, Facebook. • Aplicaciones con muchos CRUDs. • Separación entre frontend y backend. • No es adecuada para desarrollo de juegos ni uso intensivo del DOM.
uno</a> <h3>El doble de la cuenta es: {{ 2 * count }}</h3> </div> Expresiones en directivas Cuando usamos directivas también podemos pasarle argumentos, al igual que una función. http://jsbin.com/zetud/1/edit
objectos angular que definen varias funcionalidades relacionadas en la app. Tiene dos operaciones principales: • Setter: angular.module('myApp', []); • Getter: angular.module('myApp');
comunicación entre componentes, particularmente entre nuestro javascript y el HTML. var app = angular.module('cellsApp', []) .run(function($rootScope) { $rootScope.user = { name: 'ucabistas' }; });
scopes. Sin embargo, $rootScope se mantiene en el nivel superior de todos. $rootScope $scope(Controlador A) $scope(Controlador B) $scope(ng-repeat de vinos)
como cualquier otro en tu código. También conocidos como plain old javascript object (POJO) En resumen: scopes son una manera de organizar pares de clave-valor sin contaminar el espacio de variables globales (global namespace)
a través de un grupo de elementos del DOM. Cada vez que definimos un controlador, angular crea un nuevo $scope debajo del scope padre donde se usa el controlador.
nuevo // $scope donde podemos colocar // la data para interactuar }); <div ng-controller="CellListCtrl"> <!-- Aquí tenemos acceso al objeto $scope definido en el controlador CellListCtrl --> </div> http://jsbin.com/jowezu/13/edit
"img/phones/nexus-s.0.jpg", "name": "Nexus S", "snippet": "Fast just got faster with Nexus S. A pure Google experience, Nexus S is the first phone to run Gingerbread (Android 2.3), the fastest version of Android yet." } http://jsbin.com/jowezu/15/edit
es asíncrona. Para retomar la ejecución del código tenemos dos opciones: • Pasar una función callback • Usar una promesa Las promesas son objetos que ayudan a trabajar con código asíncrono.
promesas: promise .then(function(data) { // Called when no errors have occurred with data }) .catch(function(err) { // Called when an error has occurred }) .finally(function(data) { // Called always, regardless of the output result })