Detekcia zmeny znamená aktualizáciu DOM pri každej zmene údajov. Angular poskytuje dve stratégie pre detekciu zmien. Vo svojej predvolenej stratégii, kedykoľvek dôjde k mutácii alebo zmene akýchkoľvek údajov, Angular spustí detektor zmien, aby aktualizoval DOM.
Ako Angular zisťuje detekciu zmien?
Ak chcete manuálne spustiť detektor zmien:
- Vložte službu ChangeDetectorRef do komponentu.
- Použite markForCheck v metóde predplatného, aby ste dali pokyn Angularu, aby skontroloval komponent pri ďalšom spustení detektorov zmeny.
- Na háčiku životného cyklu ngOnDestroy sa odhláste z pozorovateľného.
Čo je cyklus detekcie zmien v Angular?
Počas detekcie zmien Angular beží nad väzbami, vyhodnocuje výrazy, porovnáva ich s predchádzajúcimi hodnotami a v prípade potreby aktualizuje DOM. Po každom cykle detekcie zmien Angular spustí kontrolu, aby sa uistil, že stav komponentu je synchronizovaný s používateľským rozhraním.
Čo je detekcia zmeny Angular onPush?
Stratégia OnPush mení správanie Angular pri detekcii zmien podobným spôsobom ako odpojenie komponentu. Detekcia zmien sa už nespúšťa automaticky pre každý komponent. Angular namiesto toho počúva konkrétne zmeny a spúšťa detekciu zmien iba v podstrome pre daný komponent.
Čo je stratégia zisťovania zmien?
Základný mechanizmus detekcie zmeny je tovykonať kontroly proti dvom stavom, jeden je aktuálny stav, druhý je nový stav. Ak je jeden z týchto stavov odlišný od druhého, potom sa niečo zmenilo, čo znamená, že musíme aktualizovať (alebo znova vykresliť) zobrazenie.