Signaler kan forvandle deler av kodebasen din til det bedre; finne ut hvordan og hvorfor.

15. februar 2023 introduserte Angulars team Signals til rammeverket med en enkel pull-forespørsel. Siden den gang har det vært intense diskusjoner i Angular-samfunnet om bruken og fordelene. Mange har til og med begynt å lage prototyper med signaler for å prøve ut funksjonaliteten.

La oss ta en titt på hvordan denne nye funksjonen fungerer, dens syntaks og hvordan du bruker den når den er fullt utrullet.

Hva er signaler?

Signaltypen er Angulars nye reaktive primitive type. Hensikten er å holde en verdi, akkurat som en standardvariabel, men det som kjennetegner et signal er dets unike oppførsel. Hvis et signal endres, vil det varsle alt som avhenger av det.

I tillegg kan Angular bruke signaler som den nye tilnærmingen for å oppdage og utløse endring, i stedet for den nåværende standardtilnærmingen med skitten sjekking av hele komponenttreet.

Hvordan bruke signaler i vinkel

Et signal vil se omtrent slik ut:

@Komponent({
velger: 'min-appen',
frittstående: ekte,
mal: `
Antall: {{ count() }} </div>
Dobbel: {{ double() }} </div>

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

I denne app-komponenten er variabeltellingen et signal initialisert med verdien null. tellingen refereres deretter i dobbel (en beregnet verdi) og malen. Så når et knappeklikk setter verdien for telling til fem, vil både den beregnede verdien (dobbel) og verdiene i malen oppdateres.

Hver del av Kantet komponent som avhenger av signalet vil automatisk oppdateres når verdien endres.

Hvorfor introduksjonen av signaler er viktig

Signaler gjør det lettere å lære og jobbe med Angular. Bytte til signaler som den nye standardmåten å lære og bygge med Angular vil harmonisere læringsprosessen. Enten vi foretrekker en mer imperativ stil for koding med Angular, eller ønsker å lære en mer deklarativ stil med koding.

De fleste begynner å kode imperativt fordi det generelt er mer intuitivt og kjent for folk. Men å bytte fra den imperative tilnærmingen til den deklarative måten innebærer et paradigmeskifte og en total endring i vår mentale modell. Dette er grunnen til at RX.js, det reaktive biblioteket, er vanskelig å lære for mange.

Signaler vil bringe disse to separate tilnærmingene sammen. Alle kan lære signaler som standard, begynne å lære konseptene bak reaktivitet, og ikke engang bekymre seg for å inkorporere Angulars RX.js hvis de ikke kan eller vil.

Når du er komfortabel med grunnleggende om Angular og ønsker å bytte til en mer deklarativ kodestil, kan du enkelt legge til RX.js til konseptene du allerede forstår.

Signaler bør forbedre vinkelprogrammering for alle

Signals er Angulars nye reaktive mekanisme som du kan bruke til å lage reaktive verdier for forbrukere å lese. Et signal varsler umiddelbart alle forbrukere når verdien endres. Signaler harmoniserer læringsprosessen til Angular ved å bringe sammen de imperative og deklarative tilnærmingene til koding.

Angular vil stole på signaler for å gjøre endringsdeteksjon mer lett og robust. Derfor, som en Angular-utvikler, vil det å lære å bruke signaler gi deg et fastere grep om reaktivitet i Angular og gjøre deg til en bedre utvikler. Ikke glem å mestre det grunnleggende i Angular før du lærer deg de mer avanserte delene.