AngularJS / UI Bootstrap - Ausblenden des Alarms beim Entfernen

8

Ich benutze Angular mit UI Bootstrap . Ich habe die benutzerdefinierte Direktive erstellt, die Broadcast-Alerst in das Array von Alerts verschiebt, die an die Ansicht gebunden sind (dargestellt als Bootstrap-Alerts). Nach dem bestimmten Timeout werden die Alerts aus dem Array (und damit aus der View) entfernt. Hier ist der Code:

%Vor%

Ich frage mich, ob es möglich ist, ein Ausblenden (oder irgendeine andere Animation) zu den Warnungen hinzuzufügen, bevor sie entfernt werden? Jede Hilfe und Tipps wären willkommen!

    
alexs333 17.09.2013, 07:47
quelle

2 Antworten

10

In Winkel & gt; 1.1.5

Sie können die integrierte Animationsfunktion von angular verwenden. Sie fügen einfach ein data-ng-animate="'<animation class>'" auf das wiederholte Element hinzu.

Sehen Sie diesen ausgezeichneten Beitrag animation-in-angularjs oder die Antwort von @Nikos.

In Angular 1.0.7 (stabil)

ist soweit ich weiß keine Animationsunterstützung. Sie können die Animation jedoch selbst erstellen. Ich bin kein eckiger Profi, also ist das vielleicht nicht der beste Ansatz.

Erstellen Sie eine zweite $timeout , die eine 'Fade-out CSS3'-Animation hinzufügt, die vor dem ersten Timeout ausgelöst wird:

  1. Erstellen Sie CSS3-Animationsklassen zum Ausblenden einer Warnung (möglicherweise bereits vom Bootstrap)

    %Vor%
  2. Fügen Sie ein zweites $ timeout hinzu:

    %Vor%
  3. Fügen Sie in Ihrer Vorlage eine bedingte Klasse mit ng-class hinzu:

    %Vor%
Stefan 17.09.2013, 09:45
quelle
2

Wir haben ein ähnliches Setup; die Vorlage:

%Vor%

Der Controller ist einfach und enthält die folgende Funktion und das Nachrichten-Array:

%Vor%

Die Animationsdefinition (siehe ng-animate - wir verwenden jQuery UI):

%Vor%

Natürlich ersetzen Sie slideUp/Down() durch den gewünschten Effekt.

    
Nikos Paraskevopoulos 17.09.2013 09:26
quelle