Az Angular 22 jelentős mérföldkő a keretrendszer életében, mivel több kulcsfontosságú Signal-alapú API is kilépett a kísérleti fázisból. Ebben a bejegyzésben összefoglaljuk a legfontosabb változásokat.
1. Az OnPush az új alapértelmezett Change Detection
Az Angular közösség régi vágya teljesült: mostantól az OnPush a default változásdetektálási stratégia. Ez a Signals és a Zone-less Angular térnyerésével vált logikussá, mivel így a keretrendszer csak a ténylegesen érintett komponenseket frissíti, jelentősen javítva a teljesítményt.
2. Stabil Resource API (httpResource)
A Signal-ökoszisztéma hiányzó láncszeme, a Resource API végre stabilizálódott. A legfontosabb újdonság a httpResource, amely reaktív módon kezeli a HTTP kéréseket: ha egy benne használt Signal megváltozik, a kérés automatikusan újraindul. Beépített állapotkezelést biztosít (value, error, isLoading), és natívan kezeli a race condition-öket.
3. Signal Forms: Készen a produkciós használatra
A Signal-alapú űrlapkezelés is stabillá vált. Főbb jellemzői:
- Submission API: Az űrlap beküldési logikája (pl. aszinkron mentés, validációs hibák kezelése) közvetlenül a
formhívásban definiálható. - Dinamikus sémák: A
validateStandardSchemasegítségével (pl. Zod vagy Valibot használatával) a validációs szabályok reaktívan változhatnak. - CSS támogatás: Automatikus osztálykezelés (pl.
.ng-invalid) a Signal-alapú mezőkhöz is.
4. Új @Service dekorátor és injectAsync
@Service(): Az@Injectable({ providedIn: 'root' })rövidebb, ergonomikusabb alternatívája.injectAsync: Lehetővé teszi a szervizek lusta betöltését (lazy loading) csak akkor, amikor szükség van rájuk. AzonIdleopcióval kombinálva a háttérben is előtölthetők a függőségek.
5. Sablon szintaxis és Router fejlesztések
- Template Spread: Már a sablonokban is használható az object és array spread (
...) operátor. - Arrow Functions: Rövid nyílfüggvények írhatók közvetlenül a sablon kifejezésekbe.
- Reaktív isActive: Új Signal-alapú függvény a navigációs útvonalak aktivitásának ellenőrzésére.
6. HttpClient és Fetch API
Az HttpClient mostantól alapértelmezetten a modern Fetch API-t használja az XMLHttpRequest (XHR) helyett. Ez jobb streaming támogatást és modernebb alapokat biztosít.
Forrás: AngularArchitects.io - Angular 22 New Features