Cargando



Funcionalidad Mostrar y Ocultar con AngularJS

En este tutorial aprenderemos como aplicar los efectos de mostrar y ocultar escuchando los cambios de nuestro modelo de forma que el usuario pueda tener una sensación de acción en nuestra aplicación.


ago 01 2014 20:18
Avanzado
ago 03 2014 18:35
AngularJS nos permite integrar los diferentes cambios en la interfaz de usuario con los cambios en el modelo, con ello podremos ajustar elementos como menús, listas, enlaces, etc., de tal forma logramos una experiencia más interactiva y de mayor dinamismo.

Uno de los efectos más utilizados es el mostrar y ocultar, ya que de una forma sencilla hacemos que opciones de un menú aparezcan o no según las acciones del usuario o del modelo, AngularJS nos permite incorporarlo de una forma sencilla con las directivas ng-shgow y ng-hide.

Mostrar y Ocultar


Si nuestra aplicación es compleja seguramente tendremos elementos que son sensitivos al contexto, es decir, podremos utilizar alguna herramienta si se dan las condiciones correctas o tal vez debamos ocultar algunas opciones del menú cuando se den ciertas condiciones.

ng-show y ng-hide
Esto gracias a AngularJS es muy sencillo de lograr, para ello utilizaremos las directivas ng-show y ng-hide, que tienen un funcionamiento inverso de cada una, por ejemplo ng-show mostrará el elemento siempre que su condición sea cierta, en caso de ser falsa lo ocultará y ng-hide ocultará el elemento siempre que su condición sea cierta en caso contrario lo mostrará.


Así con estos funcionamientos nuestra lógica es la que va a dictar cual emplearemos en nuestras aplicaciones, estas directivas funcionan trabajando con los estilos de los elementos donde se aplican, así que si trabajamos con las propiedades display:block para mostrar y display:none para ocultar, como vemos nada que no conozcamos o que sea muy complejo para no aprender.

Ejemplo Práctico


En el siguiente ejemplo vamos a trabajar haciendo que un menú se muestre o no si hacemos click sobre una opción que lo controla, para ello debemos hacer lo siguiente:

1- En un archivo HTML vamos a incluir AngularJS y luego vamos a generar el controlador que nos ayudará en nuestra tarea, el código del controlador debe controlar las acciones del menú y tendría una función o método que efectúa el cambio al trabajar con los estados de la directiva, en este caso trabajaremos con ng-show, veamos el código necesario:

function MostrarOcultarController($scope) {
$scope.menuState = {}
$scope.menuState.show = false;
$scope.cambiarMenu = function() {
$scope.menuState.show = !$scope.menuState.show;
};
}

2- Luego debemos preparar nuestros elementos HTML de forma que podamos aplicar la directiva de AngularJS, para ello definimos el $scope del controlador y finalmente aplicamos la directiva ng-show al listado, veamos:

<div ng-controller='MostrarOcultarController'>
<button ng-click='cambiarMenu()'>Cambiar Menu</button>
<ul ng-show='menuState.show'>
<li ng-click='accion1()'>accion1</li>
<li ng-click='accion2()'>accion2</li>
<li ng-click='accion3()'>accion3</li>
</ul>
<div/>

Ya con esto nuestro menú debería mostrarse u ocultarse según hagamos click en el botón correspondiente, veamos como luce en nuestro navegador en ambos estados. Aquí podemos ver el estado inicial sin elementos en el menú:


angular_mostrar_ocult.jpg


Luego al hacer click sobre el botón podemos ver como aparece el menú, abajo está el código que detecta nuestra consola Javascript para demostrar el funcionamiento de AngularJS:


angular_mostrar_ocult2.jpg


Notamos que en el código de la consola desapareció la clase ng-hide dejando así ver el menú correctamente.

Con este finalizamos este tutorial donde hemos aprendido a utilizar las propiedades de mostrar y ocultar cuando construimos una aplicación en AngularJS.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X