Signály by mohly transformovat části vaší kódové základny k lepšímu; zjistit jak a proč.
15. února 2023 zavedl tým Angularu Signals do frameworku pomocí jednoduchého požadavku na stažení. Od té doby se v komunitě Angular vedou živé diskuse o jeho použití a výhodách. Mnozí dokonce začali vytvářet prototypy se signály, aby vyzkoušeli jeho funkčnost.
Pojďme se podívat na to, jak tato nová funkce funguje, její syntaxi a jak ji používat, jakmile bude plně zavedena.
Co jsou signály?
Typ signálu je nový reaktivní primitivní typ Angular. Jeho účelem je držet hodnotu, stejně jako standardní proměnná, ale charakteristickým znakem signálu je jeho jedinečné chování. Pokud se signál změní, upozorní na vše, co na něm závisí.
Navíc může Angular používat signály jako nový přístup pro detekci a spouštění změn, spíše než současný výchozí přístup nečisté kontroly celého stromu komponent.
Jak používat signály v Angular
Signál bude vypadat nějak takto:
@Komponent({
volič: 'moje aplikace',
samostatný: skutečný,
šablona: `Počet: {{ count() }} </div>Double: {{ double() }} </div>
changeCount() {
tento.count.set(5)
}
}
V této komponentě aplikace je počet proměnných signál inicializovaný hodnotou nula. count je pak odkazován uvnitř double (vypočítaná hodnota) a šablony. Když tedy kliknutí na tlačítko nastaví hodnotu count na pět, aktualizuje se jak vypočítaná hodnota (double), tak hodnoty v šabloně.
Každá část Úhlová složka který závisí na signálu, bude automaticky aktualizován, jakmile se hodnota změní.
Proč je důležité zavádění signálů
Signály usnadňují učení a práci s Angular. Přechod na signály jako nový výchozí způsob učení a budování s Angular harmonizuje proces učení. Ať už preferujeme imperativnější styl kódování s Angular, nebo se chceme naučit deklarativnější styl kódování.
Většina lidí začíná s kódováním nezbytně, protože je obecně intuitivnější a lidem důvěrnější. Ale přechod od imperativního přístupu k deklarativnímu způsobu zahrnuje změnu paradigmatu a celkovou změnu našeho mentálního modelu. To je důvod, proč se RX.js, reaktivní knihovna, pro mnohé obtížně učí.
Signály spojí tyto dva samostatné přístupy. Každý se může standardně naučit signály, začít se učit koncepty za reaktivitou a dokonce se nemusí starat o začlenění Angular RX.js pokud nemohou nebo nechtějí.
Jakmile budete spokojeni s základy Angularu a chcete přejít na deklarativnější styl kódování, můžete snadno přidat RX.js ke konceptům, kterým již rozumíte.
Signály by měly zlepšit úhlové programování pro každého
Signals je nový reaktivní mechanismus Angular, který můžete použít k vytvoření reaktivních hodnot pro spotřebitele ke čtení. Signál okamžitě upozorní všechny spotřebitele, jakmile se jeho hodnota změní. Signály harmonizují proces učení Angular tím, že spojují imperativní a deklarativní přístupy ke kódování.
Angular se bude spoléhat na signály, aby byla detekce změn lehčí a robustnější. Proto, jako vývojář Angular, učení se používat signály vám dá pevnější uchopení reaktivity v Angular a udělá z vás lepšího vývojáře. Než se naučíte pokročilejší části, nezapomeňte si osvojit základy Angularu.