@for (product of products; track product.id) <product-card [data]="product" />
For data fetching, the new resource() and rxResource() APIs replace complex RxJS chains: angular: de cero a experto - edición 2025
@defer (on viewport) <heavy-chart /> @placeholder <div>Cargando gráfico...</div> @for (product of products; track product
const userResource = resource( request: () => this.userId(), loader: async ( request, abortSignal ) => return fetch(`/api/users/$request`, signal: abortSignal ) .then(res => res.json()); ); 4.1 Zoneless Change Detection By disabling Zone.js and relying on signals, applications become faster and more predictable. An expert configures: @for (product of products
@if (user.isLogged) <user-profile /> @else <login-button />
This improves performance and readability. One of the most powerful features for beginners to grasp is @defer :