Angular

Change Detection

Zone.js, strategie di change detection, strategia OnPush, ChangeDetectorRef, markForCheck, detectChanges, ottimizzazione delle performance

20 domande da colloquio·
Mid-Level
1

Cos'è il meccanismo di change detection in Angular?

Risposta

La change detection è il processo con cui Angular rileva i cambiamenti nello stato dell'applicazione e aggiorna il DOM di conseguenza. Per impostazione predefinita, Angular usa Zone.js per rilevare automaticamente gli eventi asincroni (clicks, HTTP requests, timers) e attiva la verifica dei componenti dalla radice. Questa verifica attraversa l'albero dei componenti per identificare le modifiche da applicare al DOM.

2

Qual è il ruolo di Zone.js nella change detection di Angular?

Risposta

Zone.js è una libreria che applica patch alle API asincrone native del browser (setTimeout, Promise, addEventListener, ecc.) per intercettare la loro esecuzione. Quando un'operazione asincrona si completa, Zone.js notifica Angular che attiva automaticamente la change detection dal componente radice. Questo permette ad Angular di rilevare i cambiamenti senza intervento manuale dello sviluppatore.

3

Qual è la differenza tra le strategie Default e OnPush?

Risposta

La strategia Default verifica tutti i componenti dell'albero ad ogni ciclo di change detection, il che può essere costoso. OnPush ottimizza verificando un componente solo se i suoi input cambiano (riferimenti immutabili), se un evento viene emesso dal suo template, se un async pipe riceve un nuovo valore, o se markForCheck() viene chiamato manualmente. OnPush riduce drasticamente le verifiche e migliora le performance.

4

Come abilitare la strategia OnPush su un componente?

5

Qual è lo scopo di ChangeDetectorRef in un componente Angular?

+17 domande da colloquio

Padroneggia Angular per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis