ng-animate

___ tag123angularuirouter ___ UI-Router entwickelt das Konzept einer AngularJS-Route zu einem allgemeineren Konzept eines Zustands für die Verwaltung komplexer Anwendungs-UI-Zustände. Vor allem ermöglicht es geschachtelte Status- / Ansichtshierarchien und mehrere benannte Ansichten. ___ tag123angularjs ___ Für Fragen zu AngularJS (1.x), dem Open-Source-JavaScript-Framework. Verwenden Sie dieses Tag NICHT für Angular 2 oder höhere Versionen. Verwenden Sie stattdessen das [eckige] -Tag. ___ tag123transition ___ Verwenden von JavaScript oder CSS, um ein Element von einem Zustand in einen anderen zu animieren. ___ qstntxt ___

Ich habe eine App, die im Prinzip so aussieht

%Vor%

Nun wird die Fußzeile für alle verschiedenen Zustände der App gleich bleiben, aber die Kopfzeile wird sich in einigen Zuständen ändern, aber auch den Inhalt in vielen Zuständen teilen. Die einzige %code% , die sich in allen Zuständen ändert, ist %code% .

Momentan sieht mein %code% so aus (Fußzeile noch nicht implementiert):

%Vor%

So weit, so gut. Aber hier ist der Haken. Während der Übergänge möchte ich alle %code% s als eins animieren. Um die Dinge in meinem Fall zusammenhängend aussehen zu lassen (es ist eine Überblendanimation), würde ich sie gerne in ein Wrapping-Div setzen und das Diving das Ein- / Ausblenden machen (das macht es auf jedem anderen %code% wird alle Arten von Hässlichkeit verursachen ).

Was ist die beste Vorgehensweise in diesem Szenario?

Umschlinge ich sie in %code% und hänge sie irgendwie in die %code% ein (verschachtelte %code% s?). Gibt es andere Möglichkeiten, es zu tun? Kann ich %code% hören und Klassen auf meinen Wrapper anwenden wie %code% mit einem %code% ? (Ausblenden und dann warten, bis das Ergebnis vollständig ausgeblendet ist, bevor es eingeblendet wird.)

Aus meinen Google-Bemühungen scheint %code% bei der Verarbeitung von Animationen des Übergangstyps vorzuziehen.

    
___ tag123nanimate ___ Das ngAnimate-Modul bietet Unterstützung für CSS-basierte Animationen (Keyframes und Übergänge) sowie JavaScript-basierte Animationen über Callback-Hooks. Animationen sind standardmäßig nicht aktiviert, wenn Sie ngAnimate einbeziehen, werden die Animations-Hooks für eine Angular-App aktiviert. ___ answer31234750 ___
  

... Während der Übergänge möchte ich alle ui-Ansichten als eins animieren. Zu machen   in meinem Fall sehen die Dinge zusammenhängend aus (es ist eine Fade-Animation), die ich gerne hätte   um sie in ein Wrapping div zu legen und dieses div das Fade Out / Fade zu haben   in (macht es auf jedem anderen ui-view wird alle Arten von verursachen   Hässlichkeit).

     

Was ist die beste Vorgehensweise in diesem Szenario?

Option 1: Verwenden der Ereignis-Hooks %code% und %code%

Dieser Ansatz hätte einige Nebenwirkungen, wie @David in Kommentaren erwähnt. Vermeiden Sie es also, bis %code% eine bessere Möglichkeit bietet, die Zustandsübergangsversprechen zu verwalten. Momentan ist es auf %code% angewiesen, um den Übergang zu verhindern.

Grundsätzlich wird %code% Ihre %code% Route Change-Ansicht gleichzeitig mit dem eingehenden View-in auslösen. Was Sie erhalten, ist das vorherige %code% , das immer noch sichtbar ist, während das nächste %code% gerendert wird. Wenn Sie das View-Out animieren, wird es eine Übergangsdauer der Überlappung zwischen der alten und der neuen Ansicht geben. Sie sollten sich damit beschäftigen, die neue ui-view so lange zu rendern, bis der alte animiert ist (bevor Sie den neuen animieren)

Aus ähnlichen Gründen wäre es nicht klug, sie in ein anderes %code% einzufügen und sie in %code% einzuhängen.

Option 2: (Empfohlene) CSS-basierte Animationen

Ich gehe meistens mit CSS-basierten Übergängen und Sie können dies entweder durch

erreichen
  • Zuweisen einer gemeinsamen CSS-Klasse zu jedem %code% und Anwenden der Animation auf diese Klasse.
  • oder umschließen Sie die drei %code% in einem %code% (falls Sie das wirklich brauchen) und wenden Sie eine Animation darauf an.

In jedem Fall würden Sie alle %code% als eine einzige Entität behandeln, und wenn Sie sie animieren würden, würden die Dinge kohärenter aussehen.

HTML:

%Vor%

CSS:

%Vor%

Hier ist eine funktionierende plankr basierend auf Ihrem Anwendungsfall, wo, ich habe eine abstract state %code% und drei verschachtelte states %code% , %code% und %code% . Während %code% in allen Zuständen geändert wird, ändert sich %code% in keiner und %code% ändert sich für den Status 'root.artist'. Die Tatsache, dass Sie css-basierte %code% und %code% Klassen verwenden, um die Animationen auszulösen, überwinden Sie technisch die Probleme mit dem vorherigen Ansatz.

%Vor%     
___ qstnhdr ___ Bewährtes Verfahren zum Animieren mehrerer Benutzeransichten als eins ___
1
Antwort

ngAnimate - In beide Richtungen gleiten

Ich kämpfe mit einem Problem: Ich habe ein Menü mit x-Menge von Gegenständen. In diesem Beispiel habe ich drei Elemente. Jedes Element hat einen Inhaltsbereich. Wenn Sie auf den Menüeintrag klicken, sollte der Inhalt eingeblendet werden. W...
01.03.2017, 21:17
2
Antworten

Slide Links animierter Übergang in ng-hide, ng-Animate

Ich habe jsfiddle Ссылка erstellt Wenn Sie auf den linken oder rechten Text klicken, befindet sich die Animation zum Verbergen jetzt oben. Wie können wir sie ändern, um die Animation nach links zu verschieben, z. B. slide & amp; zur linken Men...
08.10.2014, 04:48
7
Antworten

Angular js - slide views, aber nicht home page - ng-animate

Ich verwende ng-animate , um die App-Ansichten zu verschieben, damit jede Route die eigene Ansicht verschiebt. Dies ist mein einfacher Code: html: %Vor% css: %Vor% Nun, ich frage mich, is there anyway to exclude the home page (...
01.01.2014, 13:15
1
Antwort

Es konnte keine geeignete Version für den eckigen Installationsfehler für das eckige Animationsmodul gefunden werden

Ich verwende Angular 1.2.6 . Ich versuche, Bower zu verwenden, um angular-animate und ngAnimate-animate.css . Ich habe versucht, zu installieren ( bower install --save angular-animate ), mehrere Zeit und diff-Code auf Github von 1.2.16 un...
08.04.2014, 18:06
2
Antworten

Animate.css und Angularjs ng-hide

Ich lerne und experimentiere mit Angularjs und animate.css. Ich versuche Animationen hinzuzufügen, wenn die ng-show wahr oder falsch ist. Das Zeigen und Verstecken funktioniert, aber nicht die Animationen. Hoffe jemand hier kann mir zeigen, was...
24.06.2014, 03:18
1
Antwort

Bewährtes Verfahren zum Animieren mehrerer Benutzeransichten als eins

Ich habe eine App, die im Prinzip so aussieht %Vor% Nun wird die Fußzeile für alle verschiedenen Zustände der App gleich bleiben, aber die Kopfzeile wird sich in einigen Zuständen ändern, aber auch den Inhalt in vielen Zuständen teilen. Die...
24.06.2015, 17:16