Az Angular Signals a legizgalmasabb változás a keretrendszer történetében. Ez egy új reaktív modell, amely lehetővé teszi, hogy az Angular pontosan tudja, melyik adat változott, és csak a template legszükségesebb részét frissítse.
1. Mi az a Signal?
A Signal egy olyan érték, ami "értesítést" tud küldeni, ha megváltozik. Gondolj rá úgy, mint egy intelligens változóra.
const count = signal(0); // Létrehozás console.log(count()); // Olvasás (függvényként hívjuk!) count.set(5); // Új érték beállítása count.update(v => v + 1); // Frissítés az előző érték alapján
2. Computed Signals és Effects
A Signalok ereje a kombinálhatóságban rejlik:
- computed(): Olyan érték, ami automatikusan frissül, ha a benne használt Signalok változnak.
- effect(): Egy kódblokk, ami lefuttatódik minden alkalommal, amikor a figyelt Signal változik (pl. naplózás vagy mentés).
3. Miért váltunk Signalokra?
A régi Angular a Zone.js könyvtárra támaszkodott, ami minden egyes kattintásnál vagy időzítőnél átvizsgálta a teljes alkalmazást változások után kutatva. Ez nagy appoknál lassú volt. A Signalokkal az Angular **pontosan tudja**, hol kell frissíteni, így az alkalmazásod villámgyors lesz.
Pro Tipp: Az Angular 22-ben a Signal Forms és a httpResource aszinkron Signalok már stabilak és használatra készek! 🚀