Chargement différé avec @defer
Chargez paresseusement des sections de modèle avec @defer.
Chargement différé avec @defer est une leçon Angular Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Angular Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Angular Academy comprend 4 leçons au total.
Chargement différé avec defer
Le bloc at-defer charge à la demande une partie d'un modèle et ses dépendances, ce qui améliore les performances du chargement initial. Le contenu différé est séparé dans un bloc de code distinct.
Syntaxe de base de defer
Placez le contenu dans un bloc at-defer. Par défaut, il est chargé lorsque le navigateur est au repos.
// @defer {
// <app-heavy-chart></app-heavy-chart>
// }Pourquoi utiliser defer
Différer les composants lourds ou situés sous la ligne de flottaison permet de conserver un paquet initial réduit et un premier affichage rapide. Le composant n'est chargé que lorsque cela est réellement nécessaire.
Le bloc placeholder
Un bloc at-placeholder affiche le contenu avant le déclenchement du bloc différé.
// @defer {
// <app-comments></app-comments>
// } @placeholder {
// <p>Comments will load soon</p>
// }Le bloc de chargement
Un bloc at-loading s’affiche pendant le chargement du fragment différé.
// @defer {
// <app-comments></app-comments>
// } @loading {
// <p>Loading comments...</p>
// }Le bloc d’erreur
Un bloc at-error est rendu si le chargement des dépendances différées échoue.
// @defer {
// <app-comments></app-comments>
// } @error {
// <p>Failed to load comments</p>
// }Déclencheurs
Vous contrôlez le début du chargement avec des déclencheurs dans une clause on, comme on idle, on viewport, on interaction, on hover ou on timer.
// @defer (on viewport) {
// <app-chart></app-chart>
// }on viewport
Le déclencheur on viewport charge le contenu lorsqu’il apparaît dans la zone visible, ce qui est idéal pour les sections situées sous la ligne de flottaison.
on interaction et on hover
on interaction charge le contenu lorsque l’utilisateur clique sur l’espace réservé ou lui attribue le focus ; on hover le charge lorsque le pointeur le survole.
// @defer (on interaction) {
// <app-editor></app-editor>
// } @placeholder {
// <button>Open editor</button>
// }La condition when
Vous pouvez également déclencher le chargement à partir d’une expression booléenne avec when, le chargement commençant lorsque l’expression devient vraie.
// @defer (when shouldLoad()) {
// <app-details></app-details>
// }Préchargement
Vous pouvez précharger le fragment différé indépendamment de son rendu, par exemple avec prefetch on idle, afin qu’il soit prêt avant l’activation du déclencheur de rendu.
// @defer (on viewport; prefetch on idle) {
// <app-chart></app-chart>
// }Vérification rapide : defer
Déclencher du contenu différé.
Récapitulatif : chargement différé
Vous avez découvert le bloc at-defer pour le chargement différé, avec les blocs at-placeholder, at-loading et at-error, ainsi que des déclencheurs comme on idle, on viewport, on interaction, on hover, on timer et when, sans oublier le préchargement. Vous avez terminé le cours sur le flux de contrôle intégré.
Questions Fréquemment Posées
La leçon « Chargement différé avec @defer » est-elle gratuite ?
Oui — le texte complet de « Chargement différé avec @defer » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Angular Academy, passe à CoddyKit PRO. Le cours Angular Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Chargement différé avec @defer » ?
Chargez paresseusement des sections de modèle avec @defer. Tu pratiques Angular Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Angular Academy ?
Aucune expérience préalable n'est requise. Angular Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Chargement différé avec @defer » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Angular Academy ?
Oui. Chaque leçon Angular Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Rendu conditionnel avec @if
- Boucles avec @for
- Sélection avec @switch
- Chargement différé avec @defer