Angular JS
Angular JS
AngularJS
www.angularjs.org
Información general
Modelo de
Código abierto
desarrollo
Desarrollador(es) Google
Lanzamiento 20 de octubre de
inicial 2010(info)
1.7.6 (info)
Última versión
17 de enero de 2019 (5
estable
meses y 25 días)
JavaScript, Single-
Género page application
Framework
Programado en JavaScript
Plataforma Multiplataforma
Licencia MIT
Estado actual activo
En español No
Índice
AngularJS
Directivas en AngularJS
Directivas Nativas
ngApp (ng-app)
ngController (ng-controller)
ngModel (ng-model)
ngClick (ng-click)
ngInit (ng-init)
ngRepeat (ng-repeat)
ngChange (ng-change)
ngShow (ng-show) | ngHide (ng-hide)
ngBind (ng-bind)
Directivas Propias
Referencias
Enlaces externos
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:
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.
Directivas Nativas
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)
<html ng-app>
<html ng-app="nombre_del_modulo">
ngController (ng-controller)
<body>
<div ng-controller="nombre_de_controlador">
<h1>Hola AngularJS desde @frontendlabs</h1>
</div>
</body>
ngModel (ng-model)
<body>
<div ng-controller="miControlador">
<label>Ingrese su nombre</label>
<input type="text" ng-model="nombre">
<span>Hola {{nombre}}</span>
</div>
</body>
ngClick (ng-click)
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)
<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).
<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.
<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>
app.controller('miControlador', function($scope){
$scope.total = 0;
$scope.aFavor = function (){
$scope.total++;
};
$scope.enContra = function (){
$scope.total--;
};
});
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>
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.
<body>
<div ng-controller="MiControlador">
<div mi-cliente></div>
</div>
</body>
Referencias
g. «What Is Angular?» (en inglés). Consultado el 12 de febrero de 2013.
Enlaces externos