Code Explainers
Code explainers tagged #lazy-loading
typescript
import { Component, signal } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RevenueChartComponent } from './revenue-chart.component'; import { ReportService, RevenueReport } from './report.service';
Deferred chart loading with @defer in Angular
lazy-loading
signals
dependency-injection
Intermediate
8 steps
typescript
import { Injectable, inject } from '@angular/core'; import { PreloadingStrategy, Route } from '@angular/router'; import { Observable, of, Subject } from 'rxjs'; import { filter, switchMap, take } from 'rxjs/operators';
A hover-triggered preloading strategy in Angular
lazy-loading
rxjs
preloading
Advanced
8 steps
typescript
type LazyImageOptions = { rootMargin?: string; loadedClass?: string; };
Lazy-loading images with IntersectionObserver
intersectionobserver
lazy-loading
performance
Intermediate
7 steps
javascript
import { lazy, Suspense } from "react"; import { Routes, Route, NavLink } from "react-router-dom"; import ErrorBoundary from "./components/ErrorBoundary"; import Spinner from "./components/Spinner";
Lazy-loaded routes in React
code-splitting
lazy-loading
routing
Intermediate
6 steps
typescript
import { Injectable } from '@angular/core'; import { PreloadingStrategy, Route, Routes, RouterModule } from '@angular/router'; import { NgModule } from '@angular/core'; import { Observable, of, timer } from 'rxjs';
A custom preloading strategy in Angular
lazy-loading
preloading
rxjs
Intermediate
7 steps
typescript
import { inject } from '@angular/core'; import { ResolveFn, Router, ActivatedRouteSnapshot } from '@angular/router'; import { catchError, of, EMPTY } from 'rxjs'; import { Article } from './models/article';
Prefetching route data with an Angular resolver
route-resolver
dependency-injection
rxjs
Intermediate
6 steps
javascript
function initLazyLoad(root = document) { const images = root.querySelectorAll('img[data-src]'); if (!('IntersectionObserver' in window)) {
How lazy image loading works
lazy-loading
intersectionobserver
progressive-enhancement
Intermediate
8 steps