0Pricing
Angular Academy · Lekcja

Odroczone ładowanie za pomocą @defer

Leniwie ładuj sekcje szablonu za pomocą @defer.

Odroczone ładowanie za pomocą @defer to bezpłatna lekcja Angular Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Angular Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Angular Academy zawiera 4 lekcji w sumie.

Odroczone ładowanie za pomocą defer

Blok at-defer ładuje leniwie część szablonu wraz z zależnościami, poprawiając wydajność początkowego ładowania. Odroczona zawartość jest dzielona na osobny chunk.

Podstawowa składnia defer

Zawartość należy umieścić w bloku at-defer. Domyślnie zostanie on załadowany, gdy przeglądarka będzie bezczynna.

// @defer {
//   <app-heavy-chart></app-heavy-chart>
// }

Dlaczego defer

Odroczenie ładowania ciężkich komponentów lub komponentów znajdujących się poniżej pierwszego ekranu pozwala zmniejszyć początkowy bundle i przyspieszyć pierwsze renderowanie. Komponent zostanie załadowany dopiero wtedy, gdy będzie rzeczywiście potrzebny.

Blok placeholder

Blok at-placeholder wyświetla zawartość, zanim zostanie uruchomiony blok odroczony.

// @defer {
//   <app-comments></app-comments>
// } @placeholder {
//   <p>Comments will load soon</p>
// }

Blok ładowania

Blok at-loading jest wyświetlany podczas pobierania odroczonego fragmentu.

// @defer {
//   <app-comments></app-comments>
// } @loading {
//   <p>Loading comments...</p>
// }

Blok błędu

Blok at-error jest renderowany, jeśli pobranie zależności odroczonego fragmentu zakończy się niepowodzeniem.

// @defer {
//   <app-comments></app-comments>
// } @error {
//   <p>Failed to load comments</p>
// }

Wyzwalacze

Moment rozpoczęcia ładowania można kontrolować za pomocą wyzwalaczy w klauzuli on, takich jak on idle, on viewport, on interaction, on hover lub on timer.

// @defer (on viewport) {
//   <app-chart></app-chart>
// }

on viewport

Wyzwalacz on viewport ładuje zawartość, gdy pojawi się ona w obszarze widoku podczas przewijania. Doskonale sprawdza się w sekcjach znajdujących się poniżej widocznej części strony.

on interaction i on hover

on interaction ładuje zawartość, gdy użytkownik kliknie element zastępczy lub przeniesie na niego fokus, a on hover — gdy wskaźnik znajdzie się nad tym elementem.

// @defer (on interaction) {
//   <app-editor></app-editor>
// } @placeholder {
//   <button>Open editor</button>
// }

Warunek when

Można również uruchamiać ładowanie na podstawie wyrażenia logicznego za pomocą when. Ładowanie rozpocznie się, gdy wyrażenie przyjmie wartość true.

// @defer (when shouldLoad()) {
//   <app-details></app-details>
// }

Wstępne pobieranie

Odroczony fragment można pobrać wstępnie niezależnie od renderowania, na przykład za pomocą prefetch on idle, aby był gotowy, zanim zadziała wyzwalacz renderowania.

// @defer (on viewport; prefetch on idle) {
//   <app-chart></app-chart>
// }

Szybkie sprawdzenie: defer

Uruchamianie odroczonej zawartości.

Podsumowanie: odroczone ładowanie

Poznali Państwo blok at-defer używany do leniwego ładowania, a także bloki at-placeholder, at-loading i at-error oraz wyzwalacze, takie jak on idle, on viewport, on interaction, on hover, on timer i when, a także wstępne pobieranie. Ukończyli Państwo kurs Built-in Control Flow.

Często zadawane pytania

Czy lekcja „Odroczone ładowanie za pomocą @defer” jest bezpłatna?

Tak — pełny tekst „Odroczone ładowanie za pomocą @defer” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Angular Academy, przejdź na CoddyKit PRO. Kurs Angular Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Odroczone ładowanie za pomocą @defer”?

Leniwie ładuj sekcje szablonu za pomocą @defer. Ćwiczysz Angular Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Angular Academy?

Nie wymagamy żadnego doświadczenia. Angular Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Odroczone ładowanie za pomocą @defer”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Angular Academy?

Tak. Każda lekcja Angular Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Warunkowe renderowanie za pomocą @if
  2. Pętle za pomocą @for
  3. Przełączanie za pomocą @switch
  4. Odroczone ładowanie za pomocą @defer
← Powrót do Angular Academy