Estou usando o módulo ngAnimate, mas toda a minha ng-if
, ng-show
, etc, são afetados por isso, eu quero alavancagem ngAnimate para alguns elementos selecionados. Para desempenho e alguns bugs em elementos que se mostram e se escondem muito rápidos.
obrigado.
angularjs
ng-animate
drtobal
fonte
fonte
display:block
em todos os seus repetidores:ng-hide-add-active, .ng-hide-remove { display: block!important; }
Respostas:
Basta adicionar isso ao seu CSS. É melhor se for a última regra:
em seguida, adicione
no-animate
à classe de elemento que deseja desativar. Exemplo:fonte
.no-animate, .no-animate-children *
regra para cobrir crianças, etcSe você deseja habilitar animações para elementos específicos (ao invés de desabilitá-los para elementos específicos), você pode usar o $ animateProvider para configurar elementos com um nome de classe particular (ou regex) para animar.
O código a seguir habilitará animações para elementos que possuem a
angular-animate
classe:Aqui está um exemplo de marcação que inclui a
angular-animate
classe para habilitar animações:Exemplo do Plunker emprestado e modificado deste blog onde apenas o primeiro filtro tem animações (devido a ter a
angular-animate
classe).Observe que estou usando
angular-animate
como exemplo e é totalmente configurável usando a.classNameFilter
função.fonte
/^(?:(?!ng-animate-disabled).)*$/
regex para desativar animação comng-animate-disabled
classe.Existem duas maneiras de distribuir animações em AngularJS se você tiver o módulo ngAnimate como uma dependência do seu módulo:
Desative ou ative a animação globalmente no serviço $ animate:
Desabilite as animações para um elemento específico - este deve ser o elemento para que angular adicionará as classes css de animationstate (por exemplo, ng-enter, ...)!
Na versão Angular 1.4, você deve inverter os argumentos:
Documentação para
$animate
.fonte
Para desativar o ng-animate para certos elementos, usando uma classe CSS, que segue o paradigma Angular animate, você pode configurar o ng-animate para testar a classe usando regex.
Config
Uso
Simplesmente adicione a
ng-animate-disabled
classe a qualquer elemento que deseja ignorar pelo ng-animate.Crédito http://davidchin.me/blog/disable-nganimate-for-selected-elements/
fonte
obrigado, escrevi uma diretiva que você pode colocar no elemento
CoffeeScript:
JavaScript:
fonte
$animate.enabled(element,false);
Descobri que
$animate.enabled(false, $element);
funcionará para elementos que usamng-show
ou,ng-hide
mas não funcionará para elementos que usamng-if
por algum motivo! A solução que acabei usando foi apenas fazer tudo em CSS, o que aprendi neste tópico no GitHub .CSS
SCSS
fonte
Eu NÃO quero usar o ngAnimate no meu
ng-if
, então esta seria a minha solução:Apenas postando isso como mais uma sugestão!
fonte
Eu tenho uma lista da qual o primeiro
li
está oculto usandong-hide="$first"
. Usandong-enter
resulta emli
ser mostrado por meio segundo antes de desaparecer.Com base na solução de Chris Barr, meu código agora se parece com este:
HTML
CSS
fonte
Eu sei que é uma resposta atrasada, mas aqui usamos no MainController:
Mas o problema é que quando desabilitamos todas as animações, o ui-select é configurado para
opacity: 0
.Portanto, é necessário definir a opacidade para 1 usando CSS:
Isso definirá a opacidade corretamente e o ui-select funcionará.
fonte