Integrantes:
Jose Aguilar Quesada
Kevin Hernández Rostrán
Julián Méndez Oconitrillo
Jasson Moya Álvarez
AngularJS es un framework MVC de JavaScript para el Desarrollo Web Front End que permite crear aplicaciones SPA (Single-Page Applications).
Dentro de la carpeta del proyecto en Node.js command prompt ejecutar el comando bower install bootstrap
Comando web Server
Definir puerto
Número del puerto
En un archivo llamado index.html ingresar el código del siguiente link:
var app = angular.module('Nombre_del_modulo', []);
var app = angular.module('Nombre_del_modulo', ['ngRoute','miDependencia1','miDependencia2']);
Para asociar el módulo declarado a nuestra vista, solo basta con usar la directiva ng-app de la siguiente manera:
<!DOCTYPE html> <html ng-app="Nombre_del_Modulo"> <head> <title>Introducción a Angular</title> <!-- ==========Bootstrap========== --> <!-- Compilación minimizada del CSS de Bootstrap --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> <!-- Script de Bootstrap --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script> <!-- jQuery (necesario para Script de Bootstrap) --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script> <!-- ==========Angular========== --> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script> </head> <body> </body> </html>
var app = angular.module('Nombre_del_modulo', []); app.controller('mainController', ['$scope', function($scope){ //contenido }]);
<body> <div ng-controller="mainController"> <h1>Ejemplo AngularJS para IC-4301</h1> </div> </body>
<body> <div ng-controller="mainController"> <h1>Datos almacenados en el scope: {{datos}}</h1> </div> </body>
app.controller('mainController', ['$scope', function($scope){ $scope.datos = "Contenido de $scope.datos"; }]);
Se encuentra dentro del repositorio AngularJS-IC4301, en la carpeta Ejemplo.
<button ng-click="responder()">Responder</button>
En el ejemplo de Preguntas, se podían ver ejemplos de directivas:
En el ejemplo de Preguntas, se podían ver ejemplos de directivas:
Nótese como lo que se agregará a la página se define en un atributo de tipo template. Es posible asignar a ese atributo una página con formato pagina.tmp.html para organizar distintas páginas en carpetas.
var app = angular.module('myApp', []); app.directive('helloWorld',function(){ return { restrict: 'AE', // E = Elemento, A = Atributo, C = Clase, M = Comentario replace: true, template: '' }; });
En conjunto, la programación usando AngularJS involucra otros patrones de programación como fábricas, estrategias, singletons, entre otros.
app.controller('pruebaServicioCtrl', ['$scope', 'servicioProvider', function($scope, servicioProvider) { $scope.DatosDelServicio = servicioProvider.datosServicio; }]);
•Es importante notar que en la configuración, el parámetro debe tener el nombre del servicio más la palabra Provider
app.provider('servicioProv', function() { var paraConfigurar = "Por configurar"; return { setVariable: function(newVal) { paraConfigurar = newVal; }, $get: function() { function getVariable() { return paraConfigurar; } return { OtraVariable: "Esta se puede acceder sin función de por medio", getVariable: getVariable //Acceso a la función }; } }; }); app.config(function(servicioProvProvider) { fooProvider.setPrivate('New value from config'); });
Se tiene la misma función que antes, pero en un factory.
También, se pueden hacer factories que reciban un parámetro.
app.factory('servicioFact', function() { var variableCualquiera = "Variable"; function getVariable() { return variableCualquiera; } return { OtraVariable: "Esta se puede acceder sin función de por medio", getVariable: getVariable //Acceso a la función }; });
app.factory('servicioFact2', function(parametro) { return parametro / 10; });
app.value('servicioVal', 'Esta es una cadena que se retornará cuando se llame al servicio en el controler');
Se tiene la misma función que antes, pero en un service.
Lo que realmente se está haciendo por dentro del ejemplo de arriba.
Otra forma de usar el service.
app.service('servicioServ', function() { var variableCualquiera = "Variable"; this.OtraVariable = "Esta se puede acceder sin función de por medio"; this.getVariable = function() { return variableCualquiera; }; });
app.factory('servicioFact', function() { return new funcionParaService(); }); function funcionParaService() { var variableCualquiera = "Variable"; this.OtraVariable = "Esta se puede acceder sin función de por medio"; this.getVariable = function() { return variableCualquiera; }; }
app.service('servicioServ2', funcionParaService);
Trabaja parecido al servicio Value, con la diferencia de que se puede inyectar en cualquier lado, lo cual incluye constructores de provider y funciones de configuración.
app.constant('servicioConst', { variable1: true, variable2: "Default config2" variable3: 45; });
Esas variables podrían ser cambiadas en un config.
Alejos, L. F. (5 de Enero de 2015). Frontend Labs. Obtenido de http://frontendlabs.io/2264--modulos-y-controladores-en-angularjs
Google ©2010-2015. (s.f.). AngularJS. Obtenido de https://angularjs.org/
Hooks, J. (s.f.). Egghead. Obtenido de https://egghead.io/articles/an-introduction-to-the-angularjs-directive-part-1
israel965. (4 de Julio de 2013). Unodepiedra. Obtenido de http://uno-de-piera.com/consumir-datos-con-factorias-y-servicios-en-angularjs/
Joyent, Inc. (s.f.). NodeJS. Obtenido de https://nodejs.org/
Marín, A. V. (24 de Abril de 2014). Alvaro Veliz. Obtenido de http://alvaroveliz.cl/blog/tutorial-de-angularjs-3
Otto, M., & jacob. (s.f.). Bootstrap. Obtenido de http://getbootstrap.com/
Panda, S. (14 de Enero de 2014). sitepoint. Obtenido de http://www.sitepoint.com/practical-guide-angularjs-directives/
Rodriguez, J. (12 de Agosto de 2013). Angular-Tips. Obtenido de http://www.angular-tips.com/blog/2013/08/understanding-service-types/
Software Freedom Conservancy. (s.f.). GIT. Obtenido de http://git-scm.com/
Twitter Team. (s.f.). Bower. Obtenido de http://bower.io/