Signali bi mogli promijeniti dijelove vaše baze koda na bolje; saznati kako i zašto.

Dana 15. veljače 2023., Angularov tim uveo je Signals u okvir jednostavnim zahtjevom za povlačenjem. Od tada se u Angular zajednici vode žustre rasprave o njegovoj upotrebi i prednostima. Mnogi su čak započeli izradu prototipa sa signalima kako bi isprobali njegovu funkcionalnost.

Pogledajmo kako ova nova značajka radi, njenu sintaksu i kako je koristiti nakon što bude u potpunosti uvedena.

Što su signali?

Tip signala je Angularov novi reaktivni primitivni tip. Njegova je svrha čuvanje vrijednosti, baš kao i standardna varijabla, ali razlikovna značajka signala je njegovo jedinstveno ponašanje. Ako se signal promijeni, obavijestit će sve što o njemu ovisi.

Osim toga, Angular može koristiti signale kao novi pristup za otkrivanje i pokretanje promjena, umjesto trenutnog zadanog pristupa prljave provjere cijelog stabla komponenti.

Kako koristiti signale u Angularu

Signal će izgledati otprilike ovako:

@Komponenta
instagram viewer
({
selektor: 'moja-aplikacija',
samostalan: pravi,
predložak: `
Broj: {{ count() }} </div>
Dvostruko: {{ dvostruko() }} </div>

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

U ovoj komponenti aplikacije, broj varijabli je signal inicijaliziran vrijednošću nula. count se zatim referira unutar double (izračunate vrijednosti) i predloška. Dakle, kada se klikom na gumb postavi vrijednost brojača na pet, ažurirat će se i izračunata vrijednost (double) i vrijednosti u predlošku.

Svaki dio Kutna komponenta koji ovisi o signalu automatski će se ažurirati kada se vrijednost promijeni.

Zašto je važno uvođenje signala

Signali olakšavaju učenje i rad s Angularom. Prelazak na signale kao novi zadani način učenja i izgradnje uz Angular uskladit će proces učenja. Bilo da preferiramo imperativniji stil kodiranja s Angularom ili želimo naučiti deklarativniji stil kodiranja.

Većina ljudi počinje kodirati imperativno jer je općenito intuitivnije i ljudima poznatije. Ali prelazak s imperativnog pristupa na deklarativni uključuje promjenu paradigme i potpunu promjenu našeg mentalnog modela. Zbog toga je RX.js, reaktivnu biblioteku, mnogima teško naučiti.

Signali će spojiti ova dva odvojena pristupa. Svatko može naučiti signale prema zadanim postavkama, početi učiti koncepte koji stoje iza reaktivnosti i čak se ne brinuti o uključivanju Angularov RX.js ako ne mogu ili ne žele.

Nakon što se osjećate ugodno s osnove Angulara i želite se prebaciti na deklarativniji stil kodiranja, možete jednostavno dodati RX.js konceptima koje već razumijete.

Signali bi trebali poboljšati kutno programiranje za sve

Signals je Angularov novi reaktivni mehanizam koji možete koristiti za stvaranje reaktivnih vrijednosti koje potrošači mogu čitati. Signal odmah obavještava sve potrošače kada se njegova vrijednost promijeni. Signali usklađuju proces učenja Angulara spajanjem imperativnog i deklarativnog pristupa kodiranju.

Angular će se oslanjati na signale kako bi otkrivanje promjena učinio lakšim i robusnijim. Stoga, kao Angular programer, učenje korištenja signala će vam dati čvršće razumijevanje reaktivnosti u Angularu i učiniti vas boljim programerom. Ne zaboravite svladati osnove Angulara prije nego naučite naprednije dijelove.