Caricamento differito con @defer
Carichi in modo lazy le sezioni del template con @defer.
Caricamento differito con @defer è una lezione Angular Academy gratuita su CoddyKit. Questa è la lezione 4 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.
Caricamento differito con defer
Il blocco @defer carica in modo differito una parte del template e le relative dipendenze, migliorando le prestazioni del caricamento iniziale. Il contenuto differito viene suddiviso in un chunk separato.
Sintassi di base di defer
Racchiuda il contenuto in un blocco @defer. Per impostazione predefinita, viene caricato quando il browser è inattivo.
// @defer {
// <app-heavy-chart></app-heavy-chart>
// }Perché usare defer
Rimandare i componenti pesanti o sotto la piega mantiene ridotte le dimensioni del bundle iniziale e velocizza il primo rendering. Il componente viene caricato solo quando serve effettivamente.
Il blocco placeholder
Un blocco at-placeholder mostra il contenuto prima che venga attivato il blocco differito.
// @defer {
// <app-comments></app-comments>
// } @placeholder {
// <p>Comments will load soon</p>
// }Il blocco di caricamento
Un blocco at-loading viene mostrato mentre viene recuperato il blocco differito.
// @defer {
// <app-comments></app-comments>
// } @loading {
// <p>Loading comments...</p>
// }Il blocco di errore
Un blocco at-error viene visualizzato se il caricamento delle dipendenze differite non riesce.
// @defer {
// <app-comments></app-comments>
// } @error {
// <p>Failed to load comments</p>
// }Trigger
È possibile controllare quando inizia il caricamento usando i trigger in una clausola on, ad esempio on idle, on viewport, on interaction, on hover o on timer.
// @defer (on viewport) {
// <app-chart></app-chart>
// }on viewport
Il trigger on viewport carica il contenuto quando entra nell'area visibile, risultando ideale per le sezioni sotto la piega.
on interaction e on hover
on interaction carica il contenuto quando l'utente fa clic sul segnaposto o vi porta il focus; on hover lo carica quando il puntatore vi passa sopra.
// @defer (on interaction) {
// <app-editor></app-editor>
// } @placeholder {
// <button>Open editor</button>
// }La condizione when
È anche possibile attivare il caricamento in base a un'espressione booleana usando when; il caricamento avviene quando l'espressione diventa true.
// @defer (when shouldLoad()) {
// <app-details></app-details>
// }Precaricamento
È possibile precaricare il blocco differito separatamente dal rendering, ad esempio con prefetch on idle, in modo che sia pronto prima dell'attivazione del trigger di rendering.
// @defer (on viewport; prefetch on idle) {
// <app-chart></app-chart>
// }Verifica rapida: defer
Attivazione del contenuto differito.
Riepilogo: caricamento differito
Ha imparato a usare il blocco at-defer per il caricamento lazy, con i blocchi at-placeholder, at-loading e at-error e trigger come on idle, on viewport, on interaction, on hover, on timer e when, oltre al precaricamento. Ha completato il corso sul flusso di controllo integrato.
Domande Frequenti
La lezione «Caricamento differito con @defer» è gratuita?
Sì — il testo completo di «Caricamento differito con @defer» è 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 «Caricamento differito con @defer»?
Carichi in modo lazy le sezioni del template con @defer. 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 4 di 4.
Quanto tempo richiede la lezione «Caricamento differito con @defer»?
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
- Rendering condizionale con @if
- Cicli con @for
- Selezione con @switch
- Caricamento differito con @defer