Angular

Change Detection

Zone.js, strategie change detection, strategia OnPush, ChangeDetectorRef, markForCheck, detectChanges, optymalizacja wydajności

20 pytań z rozmów·
Mid-Level
1

Czym jest mechanizm change detection w Angularze?

Odpowiedź

Change detection to proces, w którym Angular wykrywa zmiany w stanie aplikacji i odpowiednio aktualizuje DOM. Domyślnie Angular używa Zone.js do automatycznego wykrywania zdarzeń asynchronicznych (clicks, HTTP requests, timers) i wyzwala sprawdzanie komponentów od korzenia. To sprawdzanie przechodzi przez drzewo komponentów, aby zidentyfikować modyfikacje do zastosowania w DOM.

2

Jaka jest rola Zone.js w change detection Angulara?

Odpowiedź

Zone.js to biblioteka, która patchuje natywne asynchroniczne API przeglądarki (setTimeout, Promise, addEventListener itp.) w celu przechwytywania ich wykonania. Gdy operacja asynchroniczna kończy się, Zone.js powiadamia Angulara, który automatycznie wyzwala change detection od komponentu głównego. Pozwala to Angularowi wykrywać zmiany bez ręcznej interwencji programisty.

3

Jaka jest różnica między strategiami Default i OnPush?

Odpowiedź

Strategia Default sprawdza wszystkie komponenty w drzewie w każdym cyklu change detection, co może być kosztowne. OnPush optymalizuje, sprawdzając komponent tylko wtedy, gdy zmienią się jego wejścia (referencje niemutowalne), gdy zdarzenie zostanie wyemitowane z jego szablonu, gdy async pipe otrzyma nową wartość lub gdy markForCheck() zostanie wywołany ręcznie. OnPush drastycznie redukuje sprawdzenia i poprawia wydajność.

4

Jak włączyć strategię OnPush na komponencie?

5

Jaki jest cel ChangeDetectorRef w komponencie Angulara?

+17 pytań z rozmów

Opanuj Angular na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo