J'utilise le module ngAnimate, mais tous mes ng-if
, ng-show
etc, sont touchés par cela, je veux levier ngAnimate pour certains éléments sélectionnés. Pour les performances et quelques bugs dans les éléments qui s'affichent et se cachent très rapidement.
Merci.
angularjs
ng-animate
drtobal
la source
la source
display:block
sur tous vos répéteurs:ng-hide-add-active, .ng-hide-remove { display: block!important; }
Réponses:
Ajoutez simplement ceci à votre CSS. Il vaut mieux que ce soit la dernière règle:
puis ajoutez
no-animate
à la classe d'élément que vous souhaitez désactiver. Exemple:la source
.no-animate, .no-animate-children *
règle pour couvrir les enfants, etc.Si vous souhaitez activer les animations pour des éléments spécifiques (au lieu de les désactiver pour des éléments spécifiques), vous pouvez utiliser $ animateProvider pour configurer des éléments avec un nom de classe particulier (ou regex) à animer.
Le code ci-dessous activera les animations pour les éléments qui ont la
angular-animate
classe:Voici un exemple de balisage qui inclut la
angular-animate
classe pour activer les animations:Exemple de Plunker emprunté et modifié à partir de ce blog où seul le premier filtre a des animations (en raison de la
angular-animate
classe).Veuillez noter que j'utilise
angular-animate
comme exemple et qu'il est entièrement configurable en utilisant la.classNameFilter
fonction.la source
/^(?:(?!ng-animate-disabled).)*$/
regex pour désactiver l'annimation avec lang-animate-disabled
classe.Il existe deux façons de supprimer les animations dans AngularJS si vous avez le module ngAnimate en tant que dépendance de votre module:
Désactivez ou activez l'animation globalement sur le service $ animate:
Désactivez les animations pour un élément spécifique - ce doit être l'élément pour lequel angular ajoutera les classes css animationstate (par exemple ng-enter, ...)!
À partir de la version Angular 1.4, vous devez inverser les arguments:
Documentation pour
$animate
.la source
Pour désactiver ng-animate pour certains éléments, en utilisant une classe CSS, qui suit le paradigme Angular animate, vous pouvez configurer ng-animate pour tester la classe en utilisant regex.
Config
Usage
Ajoutez simplement la
ng-animate-disabled
classe à tous les éléments que vous voulez ignorer par ng-animate.Crédit http://davidchin.me/blog/disable-nganimate-for-selected-elements/
la source
merci, j'ai écrit une directive que vous pouvez placer sur l'élément
CoffeeScript:
JavaScript:
la source
$animate.enabled(element,false);
J'ai trouvé que
$animate.enabled(false, $element);
cela fonctionnera pour les éléments qui utilisentng-show
oung-hide
mais cela ne fonctionnera pas pour les éléments qui utilisentng-if
pour une raison quelconque! La solution que j'ai fini par utiliser était de tout faire en CSS, ce que j'ai appris de ce fil sur GitHub .CSS
SCSS
la source
Je ne veux PAS utiliser ngAnimate sur mes
ng-if
, donc ce serait ma solution:Publiez simplement ceci comme une autre suggestion!
la source
J'ai une liste dont le premier
li
est caché en utilisantng-hide="$first"
. L'utilisationng-enter
entraîne l'li
affichage pendant une demi-seconde avant de disparaître.Basé sur la solution de Chris Barr, mon code ressemble maintenant à ceci:
HTML
CSS
la source
Je sais que c'est une réponse différée, mais ici, nous utilisons dans MainController:
Mais le problème est que lorsque nous désactivons toutes les animations, les ui-select sont configurés sur
opacity: 0
.Il est donc nécessaire de définir l'opacité sur 1 en utilisant CSS:
Cela définira correctement l'opacité et le ui-select fonctionnera.
la source