Tengo un formulario para responder a los mensajes que quiero mostrar solo cuando isReplyFormOpen
sea verdadero, y cada vez que hago clic en el botón de respuesta, quiero alternar si el formulario se muestra o no. ¿Cómo puedo hacer esto?
javascript
html
angularjs
ng-show
liamzebedee
fuente
fuente
ng-class
:<span ng-click="started=!started" ng-class="started ? 'btn-danger' : 'btn-success' ">
+1. Gracias :) ♥.Básicamente, lo resolví NO haciendo
isReplyFormOpen
clic en el valor cada vez que se hace clic en él:fuente
ng-init
necesario?undefined
inicialmente y!undefined == true
Si se basa en haga clic aquí, es:
fuente
Vale la pena señalar que si tiene un botón en el Controlador A y el elemento que desea mostrar en el Controlador B, es posible que deba usar la notación de puntos para acceder a la variable de alcance entre los controladores.
Por ejemplo, esto no funcionará:
Para resolver esto, cree una variable global (es decir, en el controlador A o en su controlador principal):
Luego agregue un prefijo 'global' a su clic y muestre las variables:
Para obtener más detalles, consulte Estados anidados y vistas anidadas en la documentación de Angular-UI , mire un video o lea los alcances de comprensión .
fuente
Aquí hay un ejemplo para usar las directivas ngclick & ng-if.
Nota : ng-if elimina el elemento del DOM, pero ng-hide solo oculta la visualización del elemento.
fuente
Si tiene varios menús con submenús, puede optar por la siguiente solución.
HTML
Hay dos funciones que llamé primero: ng-click = hasSubMenu ('tablero'). Esta función se utilizará para alternar el menú y se explica en el código siguiente. El ng-class = "{active: isActive ('/ customerCare / transaction')} agregará una clase activa al elemento del menú actual.
Ahora he definido algunas funciones en mi aplicación:
Primero, agregue una dependencia $ rootScope que se usa para declarar variables y funciones. Para obtener más información sobre $ roootScope, consulte el enlace: https://docs.angularjs.org/api/ng/service/ $ rootScope
Aquí está mi archivo de aplicación:
La función anterior se utiliza para agregar una clase activa al elemento de menú actual.
De forma predeterminada, $ rootScope.showDash y $ rootScope.showCC se establecen en falso. Establecerá los menús en cerrado cuando la página se cargue inicialmente. Si tiene más de dos submenús, añádalos en consecuencia.
La función hasSubMenu () funcionará para alternar entre los menús. He agregado una pequeña condición
permanecerá el submenú abierto después de volver a cargar la página de acuerdo con el elemento de menú seleccionado.
He definido mis páginas como:
Puede usar la función isActive () solo si tiene un solo menú sin submenú. Puede modificar el código según sus necesidades. Espero que esto ayude. Que tengas un gran día :)
fuente