fbpx
Wikipedia

AngularJS

AngularJS (comúnmente llamado Angular.js o AngularJS 1), es un framework de JavaScript de código abierto, mantenido por Google, que se utiliza para crear y mantener aplicaciones web de una sola página. Su objetivo es aumentar las aplicaciones basadas en navegador con capacidad de Modelo Vista Controlador (MVC), en un esfuerzo para hacer que el desarrollo y las pruebas sean más fáciles.

AngularJS
Información general
Tipo de programa JavaScript, Single-page application Framework
Desarrollador Google Inc., la comunidad.
Modelo de desarrollo Código abierto
Lanzamiento inicial 20 de octubre de 2010 (10 años, 9 meses y 20 días)
Licencia MIT
Estado actual activo
Información técnica
Programado en JavaScript
Plataformas admitidas Multiplataforma
Versiones
Última versión estable 1.7.6 (info) 17 de enero de 2019 (2 años, 6 meses y 23 días)
Enlaces
Sitio web oficial
Repositorio de código

La biblioteca lee el HTML que contiene atributos de las etiquetas personalizadas adicionales, entonces obedece a las directivas de los atributos personalizados, y une las piezas de entrada o salida de la página a un modelo representado por las variables estándar de JavaScript. Los valores de las variables de JavaScript se pueden configurar manualmente, o recuperados de los recursos JSON estáticos o dinámicos.

AngularJS se puede combinar con el entorno en tiempo de ejecución Node.js, el framework para servidor Express.js y la base de datos MongoDB para formar el conjunto MEAN.

AngularJS

AngularJS está construido en torno a la creencia de que la programación declarativa es la que debe utilizarse para generar interfaces de usuario y enlazar componentes de software, mientras que la programación imperativa es excelente para expresar la lógica de negocio.[1]​ Este framework adapta y amplía el HTML tradicional para servir mejor contenido dinámico a través de un data binding bidireccional que permite la sincronización automática de modelos y vistas. Como resultado, AngularJS pone menos énfasis en la manipulación del DOM y mejora la testeabilidad y el rendimiento.

Objetivos de diseño:

  • Disociar la manipulación del DOM de la lógica de la aplicación. Esto mejora la capacidad de prueba del código.
  • Considerar a las pruebas de la aplicación como iguales en importancia a la escritura de la aplicación. La dificultad de las pruebas se ve reducida drásticamente por la forma en que el código está estructurado.
  • Disociar el lado del cliente de una aplicación del lado del servidor. Esto permite que el trabajo de desarrollo avance en paralelo, y permite la reutilización de ambos lados.
  • Guiar a los desarrolladores a través de todo el proceso del desarrollo de una aplicación: desde el diseño de la interfaz de usuario, a través de la escritura de la lógica del negocio, hasta las pruebas.

Angular sigue el patrón MVVM (Model View View-Model) de ingeniería de software y alienta la articulación flexible entre la presentación, datos y componentes lógicos. Con el uso de la inyección de dependencias, Angular lleva servicios tradicionales del lado del servidor, tales como controladores dependientes de la vista, a las aplicaciones web del lado del cliente. En consecuencia, gran parte de la carga en el backend se reduce, lo que conlleva a aplicaciones web mucho más ligeras.

Directivas en AngularJS

Las directivas son marcas en los elementos del árbol DOM, en los nodos del HTML, que indican al compilador de Angular que debe asignar cierto comportamiento a dichos elementos o transformarlos según corresponda. Son útiles para definir nuevos pedazos de código html —como botones o, por ejemplo— un footer completo, como también para crear cosas más complejas que incluyan funciones o variables dinámicas definidas directamente en el DOM.

En cuanto a la tipología nos podemos encontrar con 2 tipos de directivas: Las existentes(nativas de angularjs); y las propias, que son aquellas directivas que creamos nosotros para un uso más personalizado.

Directivas Nativas

Algunas directivas nativas que podemos encontrar en angularjs son:

  • ngApp (ng-app)
  • ngController (ng-controller)
  • ngModel (ng-model)
  • ngClick (ng-click)
  • ngInit (ng-init)
  • ngChange (ng-change)
  • ngShow (ng-show) | ngHide (ng-hide)
  • ngBind (ng-bind)

ngApp (ng-app)

Es la directiva encargada de auto arrancar una aplicación Angular, indica el elemento raíz y se debe colocar como atributo en la etiqueta que quieres que sea la raíz de la aplicación.

La directiva ngApp la declaramos de la siguiente manera:

<html ng-app> 

ngApp puede contener un módulo de AngularJS, y se declara de la siguiente manera:

<html ng-app="nombre_del_modulo"> 

ngController (ng-controller)

Es la directiva que permite indicarle a la vista donde trabajará nuestro controlador y enlazar un $scope, todo modelo que esté dentro del ámbito de la directiva podrá ser accedido desde el controlador asignado. ngController se declara de la siguiente manera:

<body> <div ng-controller="nombre_de_controlador"> <h1>Hola AngularJS desde @frontendlabs</h1> </div> </body> 

ngModel (ng-model)

Es la directiva que representa el modelo o dato, permite obtener la información ingresada por el usuario en algún elemento del formulario, sea un input, select o textarea. Si desea obtener el texto que un usuario ingresa en un input, solo bastará asociarle un modelo y éste podrá ser accedido tanto en el controlador como la vista mediante el nombre del modelo.

Veamos como funciona esto:

<body> <div ng-controller="miControlador"> <label>Ingrese su nombre</label> <input type="text" ng-model="nombre"> <span>Hola {{nombre}}</span> </div> </body> 

En el momento en que comencemos a escribir en el input, iremos viendo como se refleja lo escrito dentro del span, esto debido al principio “Two-Way data binding”, por otro lado en el controlador también tenemos acceso al modelo mediante $scope.nombre.

ngClick (ng-click)

Esta directiva trabaja directamente relacionado al evento click, se le puede asociar alguna funcionalidad en cuanto el usuario haga click sobre algún elemento.

Como ejemplo veamos el siguiente código, dentro del html creamos un botón al cual le asociamos la directiva ng-click, en cuanto se detecte el evento se realizará la funcionalidad que tengamos en el método enviar(), que probablemente enviemos el nombre hacia algún servidor o la guardemos en un array:

<body> <div ng-controller="miControlador"> <label>Ingrese su nombre</label> <input type="text" ng-model="nombre"> <button ng-click="enviar()">Enviar</button> </div> </body> 

ngInit (ng-init)

Esta directiva permite evaluar una expresión en el scope donde se está trabajando, veamos un ejemplo de como funciona:

<body> <div ng-controller="miControlador"> <div> <button ng-click="count = count + 1" ng-init="count = 0">Enviar</button> <span>{{count}}</span> </div> </div> </body> 

ngRepeat (ng-repeat)

Esta directiva permite iterar una colección de datos, generar un template por cada elemento de la colección y pintarlo en la vista, cada template o plantilla recibe su propio ámbito ($scope).

Vemos en el siguiente ejemplo, como inicializamos una variable que contiene una colección de objetos y luego mediante la directiva ng-repeat iteramos la colección y pintamos una etiqueta “li” por cada elemento de la colección mostrando tanto el nombre como la edad de cada alumno:

<body> <div ng-controller="miControlador"> <div ng-init="alumnos = [ {nombre:'Paul', edad:12}, {nombre:'Carlos', edad:13}, {nombre:'Jan', edad:14}, {nombre:'Ana', edad:15}, {nombre:'Victor', edad:16} ]"> <ul>  <li ng-repeat="alumno in alumnos">{{alumno.nombre}}: {{alumno.edad}} años</li> </ul> </div> </div> </body> 

ngChange (ng-change)

Esta directiva detecta cualquier cambio que se produzca dentro de una etiqueta de entrada, sean inputs, checkbox, etc., la forma de usarla es la siguiente.

En el lado de la vista tenemos dos opciones a marcar, si esta a favor o en contra, lo cual incrementará o restará las votaciones según sea el caso, veamos:

<body> <div ng-controller="miControlador"> <input type="checkbox" ng-model="total" ng-change="aFavor()"> A favor <input type="checkbox" ng-model="total" ng-change="enContra()"> En contra <h3>Total Votos: {{total}}</h3> </div> </body> 

En el lado del controlador sería de la siguiente manera:

app.controller('miControlador', function($scope){ $scope.total = 0; $scope.aFavor = function (){ $scope.total++; }; $scope.enContra = function (){ $scope.total--; }; }); 

ngShow (ng-show) | ngHide (ng-hide)

Estas directivas permiten mostrar y ocultar alguna parte de la vista según la condición que le asignemos. Como seguramente todos ya deben saber ngShow permite mostrar y ngHide permite ocultar, veamos un ejemplo sencillo de como trabajan estas dos directivas.

Tenemos dos opciones “mostrar” y “ocultar”, y el mensaje a mostrar, como vemos en el código tenemos los dos checkbox y los dos mensajes, uno de los mensajes con la directiva ng-show y la otra con ng-hide, lo que nos indica que en cuanto “dato1″ sea true (esté marcada) se mostrará en caso contrario se ocultará, de forma inversa en el segundo mensaje, donde en caso “dato2″ sea true se ocultará y en caso contrario se mostrará.

En primera instancia al estar ambos sin check, estarán en estado false, por lo cual el único mensaje que se mostrará es el segundo.

<body> <div ng-controller="miControlador"> <input type="checkbox" ng-model="dato1"> Mostrar <input type="checkbox" ng-model="dato2"> Ocultar <h3 ng-show="dato1">@frontendlabs 1</h3> <h3 ng-hide="dato2">@frontendlabs 2</h3> </div> </body> 

ngBind (ng-bind)

Esta directiva cumple la misma funcionalidad que las llaves , sin embargo, ng-bind tiene una mejor performance en cuanto a tiempo. En el siguiente ejemplo vemos la forma de uso, y tanto como ng-bind muestran el texto que se ingresa en la caja de texto.

<body> <div ng-controller="miControlador"> <input type="text" ng-model="nombre"> <span>{{nombre}}</span> <span ng-bind="nombre"></span> </div> </body> 

Existen muchas más directivas, las cuales podrán encontrar en la Documentación oficial de AngularJS

Directivas Propias

Pese a que en angular se han implementado todas las posibles directivas, siempre podremos optar a crear nuestra propia directiva y es por esto que en AngularJS nos facilitan esta tarea.

Este es un ejemplo simple para poder implementar nuestra directiva.

var app = angular.module('MiModulo',[]); app.controller('MiControlador', function($scope){ $scope.cliente = { nombre: 'Jhon', direccion: 'Av. Jose pardo 481, Miraflores, Lima, Perú' }; }); //Aquí creamos la directiva app.directive('miCliente', function() { return { template: 'Nombre: {{cliente.nombre}} Dirección: {{cliente.direccion}}' }; }); 

En la parte de la vista usaríamos nuestra directiva así:

<body> <div ng-controller="MiControlador"> <div mi-cliente></div> </div> </body> 
Otra forma de usar nuestra directiva sería usarlo como etiqueta.

Referencias

  1. «What Is Angular?» (en inglés). Consultado el 12 de febrero de 2013. 

Enlaces externos

  •   Wikimedia Commons alberga una categoría multimedia sobre AngularJS.
  • Sitio oficial
  • Aprendiendo Directivas
  • Ventajas de utilizar Angular en proyectos de desarrollo web
  • Diferencias entre AngularJS y Angular
  •   Datos: Q2849803
  •   Multimedia: AngularJS

angularjs, comúnmente, llamado, angular, framework, javascript, código, abierto, mantenido, google, utiliza, para, crear, mantener, aplicaciones, sola, página, objetivo, aumentar, aplicaciones, basadas, navegador, capacidad, modelo, vista, controlador, esfuerz. AngularJS comunmente llamado Angular js o AngularJS 1 es un framework de JavaScript de codigo abierto mantenido por Google que se utiliza para crear y mantener aplicaciones web de una sola pagina Su objetivo es aumentar las aplicaciones basadas en navegador con capacidad de Modelo Vista Controlador MVC en un esfuerzo para hacer que el desarrollo y las pruebas sean mas faciles AngularJSInformacion generalTipo de programaJavaScript Single page application FrameworkDesarrolladorGoogle Inc la comunidad Modelo de desarrolloCodigo abiertoLanzamiento inicial20 de octubre de 2010 10 anos 9 meses y 20 dias LicenciaMITEstado actualactivoInformacion tecnicaProgramado enJavaScriptPlataformas admitidasMultiplataformaVersionesUltima version estable1 7 6 info 17 de enero de 2019 2 anos 6 meses y 23 dias EnlacesSitio web oficial Repositorio de codigo editar datos en Wikidata La biblioteca lee el HTML que contiene atributos de las etiquetas personalizadas adicionales entonces obedece a las directivas de los atributos personalizados y une las piezas de entrada o salida de la pagina a un modelo representado por las variables estandar de JavaScript Los valores de las variables de JavaScript se pueden configurar manualmente o recuperados de los recursos JSON estaticos o dinamicos AngularJS se puede combinar con el entorno en tiempo de ejecucion Node js el framework para servidor Express js y la base de datos MongoDB para formar el conjunto MEAN Indice 1 AngularJS 2 Directivas en AngularJS 2 1 Directivas Nativas 2 2 ngApp ng app 2 3 ngController ng controller 2 4 ngModel ng model 2 5 ngClick ng click 2 6 ngInit ng init 2 7 ngRepeat ng repeat 3 ngChange ng change 4 ngShow ng show ngHide ng hide 5 ngBind ng bind 6 Directivas Propias 7 Referencias 8 Enlaces externosAngularJS EditarAngularJS esta construido en torno a la creencia de que la programacion declarativa es la que debe utilizarse para generar interfaces de usuario y enlazar componentes de software mientras que la programacion imperativa es excelente para expresar la logica de negocio 1 Este framework adapta y amplia el HTML tradicional para servir mejor contenido dinamico a traves de un data binding bidireccional que permite la sincronizacion automatica de modelos y vistas Como resultado AngularJS pone menos enfasis en la manipulacion del DOM y mejora la testeabilidad y el rendimiento Objetivos de diseno Disociar la manipulacion del DOM de la logica de la aplicacion Esto mejora la capacidad de prueba del codigo Considerar a las pruebas de la aplicacion como iguales en importancia a la escritura de la aplicacion La dificultad de las pruebas se ve reducida drasticamente por la forma en que el codigo esta estructurado Disociar el lado del cliente de una aplicacion del lado del servidor Esto permite que el trabajo de desarrollo avance en paralelo y permite la reutilizacion de ambos lados Guiar a los desarrolladores a traves de todo el proceso del desarrollo de una aplicacion desde el diseno de la interfaz de usuario a traves de la escritura de la logica del negocio hasta las pruebas Angular sigue el patron MVVM Model View View Model de ingenieria de software y alienta la articulacion flexible entre la presentacion datos y componentes logicos Con el uso de la inyeccion de dependencias Angular lleva servicios tradicionales del lado del servidor tales como controladores dependientes de la vista a las aplicaciones web del lado del cliente En consecuencia gran parte de la carga en el backend se reduce lo que conlleva a aplicaciones web mucho mas ligeras Directivas en AngularJS EditarLas directivas son marcas en los elementos del arbol DOM en los nodos del HTML que indican al compilador de Angular que debe asignar cierto comportamiento a dichos elementos o transformarlos segun corresponda Son utiles para definir nuevos pedazos de codigo html como botones o por ejemplo un footer completo como tambien para crear cosas mas complejas que incluyan funciones o variables dinamicas definidas directamente en el DOM En cuanto a la tipologia nos podemos encontrar con 2 tipos de directivas Las existentes nativas de angularjs y las propias que son aquellas directivas que creamos nosotros para un uso mas personalizado Directivas Nativas Editar Algunas directivas nativas que podemos encontrar en angularjs son ngApp ng app ngController ng controller ngModel ng model ngClick ng click ngInit ng init ngChange ng change ngShow ng show ngHide ng hide ngBind ng bind ngApp ng app Editar Es la directiva encargada de auto arrancar una aplicacion Angular indica el elemento raiz y se debe colocar como atributo en la etiqueta que quieres que sea la raiz de la aplicacion La directiva ngApp la declaramos de la siguiente manera lt html ng app gt ngApp puede contener un modulo de AngularJS y se declara de la siguiente manera lt html ng app nombre del modulo gt ngController ng controller Editar Es la directiva que permite indicarle a la vista donde trabajara nuestro controlador y enlazar un scope todo modelo que este dentro del ambito de la directiva podra ser accedido desde el controlador asignado ngController se declara de la siguiente manera lt body gt lt div ng controller nombre de controlador gt lt h1 gt Hola AngularJS desde frontendlabs lt h1 gt lt div gt lt body gt ngModel ng model Editar Es la directiva que representa el modelo o dato permite obtener la informacion ingresada por el usuario en algun elemento del formulario sea un input select o textarea Si desea obtener el texto que un usuario ingresa en un input solo bastara asociarle un modelo y este podra ser accedido tanto en el controlador como la vista mediante el nombre del modelo Veamos como funciona esto lt body gt lt div ng controller miControlador gt lt label gt Ingrese su nombre lt label gt lt input type text ng model nombre gt lt span gt Hola nombre lt span gt lt div gt lt body gt En el momento en que comencemos a escribir en el input iremos viendo como se refleja lo escrito dentro del span esto debido al principio Two Way data binding por otro lado en el controlador tambien tenemos acceso al modelo mediante scope nombre ngClick ng click Editar Esta directiva trabaja directamente relacionado al evento click se le puede asociar alguna funcionalidad en cuanto el usuario haga click sobre algun elemento Como ejemplo veamos el siguiente codigo dentro del html creamos un boton al cual le asociamos la directiva ng click en cuanto se detecte el evento se realizara la funcionalidad que tengamos en el metodo enviar que probablemente enviemos el nombre hacia algun servidor o la guardemos en un array lt body gt lt div ng controller miControlador gt lt label gt Ingrese su nombre lt label gt lt input type text ng model nombre gt lt button ng click enviar gt Enviar lt button gt lt div gt lt body gt ngInit ng init Editar Esta directiva permite evaluar una expresion en el scope donde se esta trabajando veamos un ejemplo de como funciona lt body gt lt div ng controller miControlador gt lt div gt lt button ng click count count 1 ng init count 0 gt Enviar lt button gt lt span gt count lt span gt lt div gt lt div gt lt body gt ngRepeat ng repeat Editar Esta directiva permite iterar una coleccion de datos generar un template por cada elemento de la coleccion y pintarlo en la vista cada template o plantilla recibe su propio ambito scope Vemos en el siguiente ejemplo como inicializamos una variable que contiene una coleccion de objetos y luego mediante la directiva ng repeat iteramos la coleccion y pintamos una etiqueta li por cada elemento de la coleccion mostrando tanto el nombre como la edad de cada alumno lt body gt lt div ng controller miControlador gt lt div ng init alumnos nombre Paul edad 12 nombre Carlos edad 13 nombre Jan edad 14 nombre Ana edad 15 nombre Victor edad 16 gt lt ul gt lt li ng repeat alumno in alumnos gt alumno nombre alumno edad anos lt li gt lt ul gt lt div gt lt div gt lt body gt ngChange ng change Editar Esta directiva detecta cualquier cambio que se produzca dentro de una etiqueta de entrada sean inputs checkbox etc la forma de usarla es la siguiente En el lado de la vista tenemos dos opciones a marcar si esta a favor o en contra lo cual incrementara o restara las votaciones segun sea el caso veamos lt body gt lt div ng controller miControlador gt lt input type checkbox ng model total ng change aFavor gt A favor lt input type checkbox ng model total ng change enContra gt En contra lt h3 gt Total Votos total lt h3 gt lt div gt lt body gt En el lado del controlador seria de la siguiente manera app controller miControlador function scope scope total 0 scope aFavor function scope total scope enContra function scope total ngShow ng show ngHide ng hide Editar Estas directivas permiten mostrar y ocultar alguna parte de la vista segun la condicion que le asignemos Como seguramente todos ya deben saber ngShow permite mostrar y ngHide permite ocultar veamos un ejemplo sencillo de como trabajan estas dos directivas Tenemos dos opciones mostrar y ocultar y el mensaje a mostrar como vemos en el codigo tenemos los dos checkbox y los dos mensajes uno de los mensajes con la directiva ng show y la otra con ng hide lo que nos indica que en cuanto dato1 sea true este marcada se mostrara en caso contrario se ocultara de forma inversa en el segundo mensaje donde en caso dato2 sea true se ocultara y en caso contrario se mostrara En primera instancia al estar ambos sin check estaran en estado false por lo cual el unico mensaje que se mostrara es el segundo lt body gt lt div ng controller miControlador gt lt input type checkbox ng model dato1 gt Mostrar lt input type checkbox ng model dato2 gt Ocultar lt h3 ng show dato1 gt frontendlabs 1 lt h3 gt lt h3 ng hide dato2 gt frontendlabs 2 lt h3 gt lt div gt lt body gt ngBind ng bind Editar Esta directiva cumple la misma funcionalidad que las llaves sin embargo ng bind tiene una mejor performance en cuanto a tiempo En el siguiente ejemplo vemos la forma de uso y tanto como ng bind muestran el texto que se ingresa en la caja de texto lt body gt lt div ng controller miControlador gt lt input type text ng model nombre gt lt span gt nombre lt span gt lt span ng bind nombre gt lt span gt lt div gt lt body gt Existen muchas mas directivas las cuales podran encontrar en la Documentacion oficial de AngularJS Directivas Propias Editar Pese a que en angular se han implementado todas las posibles directivas siempre podremos optar a crear nuestra propia directiva y es por esto que en AngularJS nos facilitan esta tarea Este es un ejemplo simple para poder implementar nuestra directiva var app angular module MiModulo app controller MiControlador function scope scope cliente nombre Jhon direccion Av Jose pardo 481 Miraflores Lima Peru Aqui creamos la directiva app directive miCliente function return template Nombre cliente nombre Direccion cliente direccion En la parte de la vista usariamos nuestra directiva asi lt body gt lt div ng controller MiControlador gt lt div mi cliente gt lt div gt lt div gt lt body gt Otra forma de usar nuestra directiva seria usarlo como etiqueta Referencias Editar What Is Angular en ingles Consultado el 12 de febrero de 2013 Enlaces externos Editar Wikimedia Commons alberga una categoria multimedia sobre AngularJS Sitio oficial Aprendiendo Directivas Ventajas de utilizar Angular en proyectos de desarrollo web Diferencias entre AngularJS y Angular Datos Q2849803 Multimedia AngularJSObtenido de https es wikipedia org w index php title AngularJS amp oldid 128681841, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos