0Pricing
Angular Academy · Lezione

Animazioni di entrata e uscita

Animare gli elementi durante l'entrata e l'uscita

Animazioni di entrata e uscita è una lezione Angular Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Angular Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Angular Academy include 4 lezioni in totale.

Animare la presenza

Spesso è utile animare gli elementi quando compaiono o scompaiono, ad esempio quando un elemento viene aggiunto o rimosso da una lista. Angular mette a disposizione gli alias :enter e :leave per questo scopo.

void e presenza

Un elemento che non si trova nel DOM è nello stato void. L'entrata significa void => *, mentre l'uscita significa * => void.

Alias :enter

:enter è una forma abbreviata di void => *. Usatelo per animare gli elementi mentre vengono aggiunti.

transition(':enter', [
  style({ opacity: 0 }),
  animate('300ms', style({ opacity: 1 }))
])

Alias :leave

:leave è una forma abbreviata di * => void. Angular mantiene l'elemento nel DOM finché l'animazione di uscita non è terminata.

transition(':leave', [
  animate('300ms', style({ opacity: 0 }))
])

Attivare le animazioni con il controllo del flusso

Applicate il trigger agli elementi gestiti da @if o @for. La loro aggiunta o rimozione attiva l'entrata o l'uscita.

@if (visible()) {
  <div [@fade]>Hello</div>
}

Un trigger di dissolvenza

Ecco un trigger riutilizzabile per la dissolvenza in entrata e in uscita.

trigger('fade', [
  transition(':enter', [
    style({ opacity: 0 }),
    animate('200ms', style({ opacity: 1 }))
  ]),
  transition(':leave', [
    animate('200ms', style({ opacity: 0 }))
  ])
])

Esempio di entrata con scorrimento

Combinate transform e opacità per ottenere un effetto di scorrimento in entrata.

transition(':enter', [
  style({ transform: 'translateY(-10px)', opacity: 0 }),
  animate('250ms ease-out',
    style({ transform: 'translateY(0)', opacity: 1 }))
])

Animazioni degli elementi di una lista

Inserite il trigger in ogni elemento all'interno di @for; l'aggiunta o la rimozione degli elementi anima ciascuno di essi in modo indipendente.

@for (item of items(); track item.id) {
  <li [@fade]>{{ item.name }}</li>
}

Perché l'uscita richiede il motore

Normalmente un elemento rimosso scompare immediatamente. Il motore delle animazioni intercetta la rimozione, conserva il nodo, esegue l'animazione :leave e infine lo rimuove, tutto automaticamente.

Disabilitare le animazioni

Associate @.disabled per saltare condizionatamente le animazioni, ad esempio in base alle preferenze per la riduzione del movimento o durante il rendering iniziale.

<div [@.disabled]="prefersReducedMotion">...</div>

Buone pratiche

Mantenete brevi e discrete le animazioni di entrata e uscita. Rispettate prefers-reduced-motion. Per ottenere fluidità, animate transform e opacità (ottimizzati per la GPU) invece delle proprietà di layout.

Controllo rapido

Verifichi la Sua comprensione delle animazioni di entrata e uscita.

Riepilogo

Ha imparato che :enter (void => *) e :leave (* => void) animano gli elementi quando vengono aggiunti e rimossi, in combinazione con @if/@for. Il motore mantiene i nodi in uscita finché l'animazione non è completata.

Domande Frequenti

La lezione «Animazioni di entrata e uscita» è gratuita?

Sì — il testo completo di «Animazioni di entrata e uscita» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Angular Academy, passa a CoddyKit PRO. Il corso Angular Academy include 4 lezioni in totale.

Cosa imparerò in «Animazioni di entrata e uscita»?

Animare gli elementi durante l'entrata e l'uscita Eserciti Angular Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Angular Academy?

Non è richiesta alcuna esperienza precedente. Angular Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.

Quanto tempo richiede la lezione «Animazioni di entrata e uscita»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Angular Academy?

Sì. Ogni lezione Angular Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Nozioni di base sulle animazioni: trigger e state
  2. Transizioni e temporizzazione
  3. Animazioni di entrata e uscita
  4. Keyframe e animazioni sfalsate
← Torna a Angular Academy