Detekce změny znamená aktualizaci DOM při každé změně dat. Angular poskytuje dvě strategie pro detekci změn. Ve své výchozí strategii, kdykoli dojde k mutaci nebo změně jakýchkoli dat, Angular spustí detektor změn, aby aktualizoval DOM.
Jak Angular detekuje detekci změn?
Pro ruční spuštění detektoru změn:
- Vložit službu ChangeDetectorRef do komponenty.
- Použijte markForCheck v metodě předplatného a instruujte Angular, aby zkontroloval součást při příštím spuštění detektorů změny.
- Na háku životního cyklu ngOnDestroy se odhlašte z pozorovatelného.
Co je cyklus detekce změn v Angular?
Během detekce změn Angular běží přes vazby, vyhodnocuje výrazy, porovnává je s předchozími hodnotami a v případě potřeby aktualizuje DOM. Po každém cyklu detekce změn Angular spustí kontrolu, aby se ujistil, že stav komponenty je synchronizován s uživatelským rozhraním.
Co je detekce změny Angular onPush?
Strategie OnPush mění chování Angular detekce změn podobným způsobem jako odpojení komponenty. Detekce změn již neprobíhá automaticky pro každou komponentu. Angular místo toho poslouchá konkrétní změny a spouští detekci změn pouze v podstromu pro danou komponentu.
Co je strategie detekce změn?
Základním mechanismem detekce změny je toprovádět kontroly proti dvěma stavům, jeden je aktuální stav, druhý je nový stav. Pokud se jeden z těchto stavů liší od druhého, pak se něco změnilo, což znamená, že musíme aktualizovat (nebo znovu vykreslit) pohled.