2015-06-26 8 views
7

È possibile aggiungere manualmente NG animate a un elemento?Aggiungi manualmente ng all'elemento

Ad esempio, desidero aggiungere ng-enter e ng-leave quando viene aggiunta o rimossa una classe ng. Ma ho anche bisogno di classi ng-enter-active e ng-leave-active che mi danno più controllo sul processo di animazione.

+3

Puoi dare ulteriori informazioni sul problema –

+0

Quindi quello che voglio è quando ad esempio si fa clic su un pulsante della ng-immettere sarà aggiunto ad un elemento e dopo l'animazione ha finito si aggiungerà anche aggiungere ng -enter-active class (o viceversa ho dimenticato). Questo mi dà più controllo sull'animazione. –

risposta

0

Non è possibile rimuovere una direttiva in base a una modifica di classe in ng-class. Tuttavia, poiché si sta applicando una classe in ng-class in base a una condizione, è possibile utilizzare la stessa espressione in ng-if per includere ng-enter o ng-leave.

+0

Ma quello che voglio veramente è il comportamento di angolare per aggiungere anche ng-enter-active o ng-leave-active. –

+0

Puoi inserire il tuo codice su plunker? –

3

Sì, è possibile. Ma devi fare qualche trucco qui come seguire.

Utilizzare https://daneden.github.io/animate.css/ per l'applicazione. Ha delle belle animazioni di default. Se lo aggiungi al tuo elemento, ogni volta che l'elemento viene inserito nel dom, ci sarà un'animazione.

Ma qui nel tuo scenario, aggiungi classe animata ogni volta che aggiungi o rimuovi classe dai tuoi elementi in base alle tue condizioni. Il codice di esempio è sotto.

<div ng-class="AddClass?'yourClass animated fadeIn':'animated fadeOut removedClass'"> 
</div> 
+0

Tuttavia, in questo modo non aggiunge le classi ng-enter, ng-enter-active, ng-leave e ng-leave-active. Queste sono le classi di cui ho bisogno per l'animazione più avanzata. –

Problemi correlati