Estoy usando el módulo ngAnimate, pero toda mi ng-if
, ng-show
, etc, se ven afectados por eso, quiero aprovechar ngAnimate para algunos elementos seleccionados. Por rendimiento y algunos errores en elementos que se muestran y ocultan muy rápidamente.
Gracias.
angularjs
ng-animate
drtobal
fuente
fuente
display:block
en todos sus repetidores:ng-hide-add-active, .ng-hide-remove { display: block!important; }
Respuestas:
Solo agregue esto a su CSS. Es mejor si es la última regla:
luego agregue
no-animate
a la clase de elemento que desea deshabilitar. Ejemplo:fuente
.no-animate, .no-animate-children *
regla para cubrir a los niños, etc.Si desea habilitar animaciones para elementos específicos (en lugar de deshabilitarlas para elementos específicos), puede usar $ animateProvider para configurar elementos con un nombre de clase particular (o expresión regular) para animar.
El siguiente código habilitará animaciones para elementos que tengan la
angular-animate
clase:Aquí hay un marcado de ejemplo que incluye la
angular-animate
clase para habilitar animaciones:Ejemplo de Plunker tomado y modificado de este blog donde solo el primer filtro tiene animaciones (debido a que tiene el
angular-animate
clase).Tenga en cuenta que lo estoy usando
angular-animate
como ejemplo y es completamente configurable usando la.classNameFilter
función.fuente
/^(?:(?!ng-animate-disabled).)*$/
regex para deshabilitar la anotación conng-animate-disabled
clase.Hay dos formas en que puede deshabilitar animaciones en AngularJS si tiene el módulo ngAnimate como una dependencia de su módulo:
Deshabilite o habilite la animación globalmente en el servicio $ animate:
Deshabilite las animaciones para un elemento específico: este debe ser el elemento para que angular agregue las clases css de animationstate (por ejemplo, ng-enter, ...).
A partir de la versión Angular 1.4, debe invertir los argumentos:
Documentación para
$animate
.fuente
Para deshabilitar ng-animate para ciertos elementos, usando una clase CSS, que sigue el paradigma animado de Angular, puede configurar ng-animate para probar la clase usando expresiones regulares.
Config
Uso
Simplemente agregue la
ng-animate-disabled
clase a cualquier elemento que desee que ng-animate ignore.Crédito http://davidchin.me/blog/disable-nganimate-for-selected-elements/
fuente
gracias, escribí una directiva que puedes colocar en el elemento
CoffeeScript:
JavaScript:
fuente
$animate.enabled(element,false);
Descubrí que
$animate.enabled(false, $element);
funcionará para elementos que usanng-show
o, ¡ng-hide
pero no funcionará para elementos que usanng-if
por alguna razón! La solución que terminé usando fue hacerlo todo en CSS, que aprendí de este hilo en GitHub .CSS
SCSS
fuente
Yo no quiero usar ngAnimate en mis
ng-if
's, por lo que este sería mi solución:¡Solo publico esto como otra sugerencia!
fuente
Tengo una lista de la que
li
se oculta el primero conng-hide="$first"
. El uso deng-enter
resultados en el queli
se muestra durante medio segundo antes de desaparecer.Basado en la solución de Chris Barr, mi código ahora se ve así:
HTML
CSS
fuente
Sé que es una respuesta retrasada, pero aquí usamos en MainController:
Pero el problema es que cuando deshabilitamos todas las animaciones, la interfaz de usuario está configurada para
opacity: 0
.Entonces, es necesario establecer la opacidad en 1 usando CSS:
Esto establecerá correctamente la opacidad y la ui-select funcionará.
fuente