Signali bi lahko spremenili dele vaše kodne baze na bolje; ugotovite, kako in zakaj.

15. februarja 2023 je skupina Angular predstavila Signals v ogrodju s preprosto zahtevo za vlečenje. Od takrat so v skupnosti Angular potekale živahne razprave o njegovi uporabi in prednostih. Mnogi so celo začeli izdelovati prototipe s signali, da bi preizkusili njegovo funkcionalnost.

Oglejmo si, kako ta nova funkcija deluje, njeno sintakso in kako jo uporabljati, ko bo v celoti uvedena.

Kaj so signali?

Vrsta signala je Angularjeva nova reaktivna primitivna vrsta. Njegov namen je hraniti vrednost, tako kot standardna spremenljivka, vendar je značilnost signala njegovo edinstveno vedenje. Če se signal spremeni, bo obvestil vse, kar je odvisno od njega.

Poleg tega lahko Angular uporabi signale kot nov pristop za zaznavanje in sprožitev sprememb namesto trenutnega privzetega pristopa umazanega preverjanja celotnega drevesa komponent.

Kako uporabljati signale v Angular

Signal bo videti nekako takole:

@Komponenta({
selektor: 'moja-aplikacija',
samostojno: prav,
predloga: `
Število: {{ count() }} </div>
Dvojno: {{ dvojno() }} </div>

changeCount() {
to.count.set(5)
}
}

V tej komponenti aplikacije je spremenljivka count signal, inicializiran z vrednostjo nič. count se nato sklicuje znotraj dvojne (izračunane vrednosti) in predloge. Torej, ko klik gumba nastavi vrednost štetja na pet, se posodobijo tako izračunana vrednost (double) kot vrednosti v predlogi.

Vsak del Kotna komponenta ki je odvisen od signala, se samodejno posodobi, ko se vrednost spremeni.

Zakaj je uvedba signalov pomembna

Signali olajšajo učenje in delo z Angularjem. Prehod na signale kot nov privzeti način učenja in gradnje z Angularjem bo uskladil učni proces. Ne glede na to, ali imamo raje bolj nujen slog kodiranja z Angularjem ali pa se želimo naučiti bolj deklarativnega sloga kodiranja.

Večina ljudi začne kodirati nujno, ker je na splošno bolj intuitivno in ljudem znano. Toda prehod z imperativnega pristopa na deklarativni način vključuje spremembo paradigme in popolno spremembo našega mentalnega modela. Zato se je RX.js, reaktivne knjižnice, za mnoge težko naučiti.

Signali bodo združili ta dva ločena pristopa. Vsi se lahko privzeto naučijo signalov, se začnejo učiti konceptov, ki stojijo za reaktivnostjo, in sploh ne skrbi za vključevanje RX.js podjetja Angular če ne morejo ali nočejo.

Ko se počutite udobno z osnove Angularja in želite preklopiti na bolj deklarativen slog kodiranja, lahko preprosto dodate RX.js konceptom, ki jih že razumete.

Signali bi morali izboljšati kotno programiranje za vse

Signals je nov reaktivni mehanizem podjetja Angular, ki ga lahko uporabite za ustvarjanje reaktivnih vrednosti, ki jih potrošniki lahko preberejo. Signal takoj obvesti vse potrošnike, ko se njegova vrednost spremeni. Signali usklajujejo učni proces Angularja tako, da združujejo imperativni in deklarativni pristop k kodiranju.

Angular se bo zanašal na signale, da bo zaznavanje sprememb lažje in robustnejše. Zato vam bo kot razvijalec Angular učenje uporabe signalov omogočilo, da boste bolje razumeli reaktivnost v Angularju in postali boljši razvijalec. Ne pozabite obvladati osnov Angularja, preden se naučite naprednejših delov.