Az Angularban a Change Detection (változás észlelés) stratégiájának két fő típusa van: Default és OnPush. Ezek meghatározzák, hogy hogyan és mikor frissülnek a komponensek adatai a kezelőfelületen.
Default Strategy
Default Strategy esetében az Angular folyamatosan ellenőrzi a komponensek állapotát, és reagál a különböző eseményekre.
OnPush Strategy
OnPush Strategy esetében a komponensek csak bizonyos feltételek teljesülésekor frissülnek, ami jelentős teljesítménynövekedést eredményezhet nagyobb alkalmazásokban.
- Default Change Detection Strategy: Ez az alapértelmezett stratégia. Amikor az Angular észlel bármilyen aszinkron eseményt, mint például időzítők, promízisek, eseménykezelők (pl. kattintások), automatikusan elindítja a változás észlelési ciklust, ami ellenőrzi az összes komponens állapotát az alkalmazásban. Ha változásokat észlel, frissíti a DOM-ot. Ez egyszerű és kényelmes, de nagy alkalmazásoknál teljesítménybeli költségekkel járhat, mivel sokszor ellenőrzi az összes komponens állapotát, még akkor is, ha csak egy kis részük változott.
- OnPush Change Detection Strategy: Ezt a stratégiát a komponensekben explicit módon kell beállítani, és jelentősen optimalizálja a teljesítményt, különösen nagyobb alkalmazások esetén. Az
OnPushstratégia esetében a komponens csak akkor ellenőrzi a változásokat és frissíti a kezelőfelületet, ha az inputjai megváltoznak, vagy ha explicit módon elindítod a változás észlelést (például aChangeDetectorRefsegítségével). Ez csökkenti azokat a felesleges ellenőrzéseket, amelyek aDefaultstratégiánál fordulnak elő, és csak akkor fut le, amikor ténylegesen szükség van rá.