Ich versuche eine Animationssequenz zu erstellen, indem ich Aufrufe von addClass/removeClass kombiniere.Animationssequenz mit AngularJS addClass/removeClass
Nach Ende der Animationsmethode wird "removeClass" aufgerufen, um die Animation zu entfernen und eine neue zu starten. Aber aus irgendeinem Grund passiert nichts. Ich versuche herauszufinden, warum es nicht funktioniert? Warum wird die Klasse nicht entfernt?
$animate.addClass(element, 'fadeInDown').then(function() {
$animate.removeClass(element, 'fadeInDown'); // why is it not working?
$animate.addClass(element, 'fadeOutDown');
});
Vollversion finden Sie hier
http://plnkr.co/edit/EFybfU4jcZoT3S7jCpM8?p=preview
Dank für Sie Empfehlung, ich denke, es gute Praxis – linksta
Es ist für mich ein gleiches Problem funktioniert wäre, eine Frage, warum hast du den Anruf innerhalb eines Timers gilt $? es funktioniert sicher, und wenn ich die $ ohne Timer anwenden alle Animationen bricht und nicht funktioniert, denke ich, der Aufruf von $ Digest verrückt wird, aber keine in den Timer .... warum: -O – Kalamarico
Im Nachhinein sollten Sie Verwenden Sie stattdessen [$ timeout] (https://docs.angularjs.org/api/ng/service/$timeout). setTimeout geht außerhalb eckig (also Änderungen werden nicht von eckigen erkannt) und apply bringt es wieder zurück –