Heim > Web-Frontend > CSS-Tutorial > Wie verwende ich CSS-Übergänge und -Animationen mit der ngIf-Direktive von Angular 2?

Wie verwende ich CSS-Übergänge und -Animationen mit der ngIf-Direktive von Angular 2?

Mary-Kate Olsen
Freigeben: 2024-10-30 03:18:28
Original
585 Leute haben es durchsucht

How to Use CSS Transitions and Animations with Angular 2's ngIf Directive?

Angular 2 ngIf und CSS-Übergang/Animation

Die ngIf-Direktive von Angular 2 wird häufig zum bedingten Rendern von Elementen basierend auf einem bestimmten Ausdruck verwendet. Bei der Verwendung von CSS-Übergängen oder Animationen für diese Elemente kann es jedoch zu unerwartetem Verhalten kommen.

Beachten Sie den folgenden Codeausschnitt:

// ...
<div class="note" [ngClass]="{'transition':show}" *ngIf="show">
  <p> Notes</p>
</div>
// ...
Nach dem Login kopieren

In diesem Beispiel besteht das Ziel darin, dass ein div-Element erstellt wird Schieben Sie es mit CSS von rechts nach innen, wenn show auf „true“ gesetzt ist. Die *ngIf-Direktive stellt sicher, dass das Element nur gerendert wird, wenn show wahr ist, aber wenn show falsch ist, wird das Element vollständig aus dem DOM entfernt.

Das Problem entsteht, weil CSS-Animationen oder Übergänge dies vom Zielelement erfordern für die Dauer der Animation im DOM vorhanden sein. Da *ngIf das Element entfernt, wenn show falsch ist, werden alle im CSS definierten Übergänge nicht wirksam.

Lösung:

Um dieses Problem zu beheben, wird empfohlen um das Attribut [hidden] anstelle von ngIf zum Ausblenden von Elementen zu verwenden, die animiert werden sollen.

// ...
<div class="note" [ngClass]="{'transition':show}" [hidden]="!show">
  <p> Notes</p>
</div>
// ...
Nach dem Login kopieren

Durch die Verwendung von [hidden] ist das Element weiterhin im DOM vorhanden, seine Sichtbarkeit wird jedoch auf „versteckt“ gesetzt. wenn Show falsch ist. Dadurch wird sichergestellt, dass das Element für die Anwendung von CSS-Animationen oder Übergängen verfügbar ist.

Das obige ist der detaillierte Inhalt vonWie verwende ich CSS-Übergänge und -Animationen mit der ngIf-Direktive von Angular 2?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage