Angular2: Wie führst du 2 Animationen parallel aus?

8

Ich habe einen Container, der expandiert / schrumpft. Innerhalb dieses Containers befindet sich ein Element, das eingeblendet werden soll, wenn der Container expandiert und ausgeblendet wird, wenn der Container verkleinert wird.

Mein Problem

  • Wenn der Container erweitert wird, funktioniert die Animation beider Elemente.
  • Wenn der Container verkleinert wird, funktioniert nur die Containeranimation.
  • Wenn ich die Container-Erweiterungsanimation entferne, funktionieren die Ein- und Ausblendanimationen wie erwartet.

Wie führe ich alle Animationen parallel unter Expand / Shrink-Bedingungen aus?

Beachten Sie die Verwendung von ngIf . Dies ist beabsichtigt, da es das Element am Ende der Animationssequenz zerstört.

Hier ist ein Plunkr meines momentanen Zustands: Ссылка

Die Komponentenklasse:

%Vor%

Die Vorlage:

%Vor%

und die Komponentenanimation:

%Vor%     
axlj 02.04.2017, 16:42
quelle

2 Antworten

1

In der Hoffnung, anderen die Frustration zu ersparen, sieht es so aus, als wäre es ein Bug mit Angular 4.

Gegenwärtig gibt es zwei offene Probleme auf Github, die ziemlich eng verwandt erscheinen:

Ссылка

Ссылка

Aktualisieren

Laut dem github-Problem wird der Animationsfehler nicht so funktionieren wie in Angular2. Stattdessen werden query() und animateChild() eingeführt. Die neuen Animationsfunktionen sind ab 4.2.0-rc2 verfügbar.

Zusammenfassend:

Komponentendefinition

%Vor%

Hier gibt es ein funktionierendes Beispiel: Ссылка

    
axlj 18.04.2017, 13:22
quelle
1
___ answer43473503 ___

In der Hoffnung, anderen die Frustration zu ersparen, sieht es so aus, als wäre es ein Bug mit Angular 4.

Gegenwärtig gibt es zwei offene Probleme auf Github, die ziemlich eng verwandt erscheinen:

Ссылка

Ссылка

Aktualisieren

Laut dem github-Problem wird der Animationsfehler nicht so funktionieren wie in Angular2. Stattdessen werden *ngIf="expanded" und [@stateAnimation]="expanded" eingeführt. Die neuen Animationsfunktionen sind ab 4.2.0-rc2 verfügbar.

Zusammenfassend:

Komponentendefinition

%Vor%

Hier gibt es ein funktionierendes Beispiel: Ссылка

    
___ tag123angular ___ Fragen zu Angular, dem Web-Framework von Google. Verwenden Sie dieses Tag für Angular-Fragen, die nicht für eine einzelne Version spezifisch sind. Verwenden Sie für das ältere AngularJS-Webframework (1.x) das angularjs-Tag. ___ qstntxt ___

Ich habe einen Container, der expandiert / schrumpft. Innerhalb dieses Containers befindet sich ein Element, das eingeblendet werden soll, wenn der Container expandiert und ausgeblendet wird, wenn der Container verkleinert wird.

Mein Problem

  • Wenn der Container erweitert wird, funktioniert die Animation beider Elemente.
  • Wenn der Container verkleinert wird, funktioniert nur die Containeranimation.
  • Wenn ich die Container-Erweiterungsanimation entferne, funktionieren die Ein- und Ausblendanimationen wie erwartet.

Wie führe ich alle Animationen parallel unter Expand / Shrink-Bedingungen aus?

Beachten Sie die Verwendung von ngIf . Dies ist beabsichtigt, da es das Element am Ende der Animationssequenz zerstört.

Hier ist ein Plunkr meines momentanen Zustands: Ссылка

Die Komponentenklasse:

%Vor%

Die Vorlage:

%Vor%

und die Komponentenanimation:

%Vor%     
___ antwort43312769 ___

Hier müssen Sie Folgendes tun:

pnrnr hier: Ссылка

Entfernen Sie stateAnimate verwenden Sie %code%

Ersetze deinen %code% Trigger mit diesem:

%Vor%

Hier ist der vollständige Code:

%Vor%     
___ tag123typescript ___ TypeScript ist eine typisierte Obermenge von JavaScript, die von Microsoft erstellt wurde. Es fügt optionale Typen, Klassen, async / await und viele andere Features hinzu und kompiliert JavaScript. Dieses Tag steht für spezifische Fragen zu TypeScript. Es wird nicht für allgemeine JavaScript-Fragen verwendet. ___ qstnhdr ___ Angular2: Wie führst du 2 Animationen parallel aus? ___ tag123angularengif ___ Eine Angular Core-Direktive, die das Vorhandensein des Zielelements im DOM umschaltet. Verwenden Sie dieses Tag nicht für die ng-if-Anweisung in der älteren AngularJS-Version. ___
Ahmed Musallam 09.04.2017 22:50
quelle