سیگنالها میتوانند بخشهایی از پایه کد شما را برای بهتر شدن تغییر دهند. دریابید که چگونه و چرا
در 15 فوریه 2023، تیم Angular سیگنالها را با یک درخواست کشش ساده به چارچوب معرفی کرد. از آن زمان، بحث های شدیدی در جامعه Angular در مورد استفاده و مزایای آن وجود داشته است. بسیاری حتی شروع به نمونه سازی با سیگنال ها کرده اند تا عملکرد آن را امتحان کنند.
بیایید نگاهی به نحوه عملکرد این ویژگی جدید، نحو آن و نحوه استفاده از آن پس از عرضه کامل بیاندازیم.
سیگنال ها چیست؟
نوع سیگنال، نوع اولیه واکنشی جدید Angular است. هدف آن نگهداری یک مقدار است، درست مانند یک متغیر استاندارد، اما ویژگی متمایز یک سیگنال، رفتار منحصر به فرد آن است. اگر سیگنالی تغییر کند، هر چیزی که به آن بستگی دارد را مطلع می کند.
علاوه بر این، Angular میتواند از سیگنالها بهعنوان رویکرد جدید برای شناسایی و راهاندازی تغییرات، به جای رویکرد پیشفرض فعلی بررسی کثیف کل درخت مؤلفه استفاده کند.
نحوه استفاده از سیگنال ها در Angular
یک سیگنال چیزی شبیه به این خواهد بود:
@Component({
selector: 'my-app',
standalone: true,
template: `
<div> Count: {{ count() }} </div>
<div> Double: {{ double() }} </div>
<button (click)="changeCount()"></button>
`,
})
export class AppComponent{
count = signal(0)
double = computed(() => this.count() * 2);
changeCount() {
this.count.set(5)
}
}
در این جزء App، تعداد متغیرها سیگنالی است که با مقدار صفر مقداردهی اولیه شده است. سپس count در داخل double (مقدار محاسبه شده) و الگو ارجاع داده می شود. بنابراین، هنگامی که کلیک دکمه مقدار شمارش را روی پنج تنظیم می کند، هم مقدار محاسبه شده (دو برابر) و هم مقادیر موجود در الگو به روز می شوند.
هر بخشی از کامپوننت Angular که به سیگنال بستگی دارد، پس از تغییر مقدار، به طور خودکار به روز می شود.
چرا معرفی سیگنال ها مهم است؟
سیگنال ها یادگیری و کار با Angular را آسان تر می کند. تغییر به سیگنال ها به عنوان راه پیش فرض جدید برای یادگیری و ساخت با Angular، روند یادگیری را هماهنگ می کند. این که آیا ما یک سبک ضروری تر از کدنویسی با Angular را ترجیح می دهیم، یا می خواهیم یک سبک توضیحی تر از کدنویسی را یاد بگیریم.
اکثر مردم برنامه نویسی را ضروری آغاز می کنند، زیرا به طور کلی برای مردم شهودی و آشناتر است. اما جابجایی از رویکرد امری به روش اظهاری مستلزم یک تغییر پارادایم و تغییر کامل در مدل ذهنی ما است. به همین دلیل است که یادگیری RX.js، کتابخانه واکنشی، برای بسیاری دشوار است.
سیگنال ها این دو رویکرد مجزا را با هم جمع می کنند. همه میتوانند سیگنالها را بهطور پیشفرض یاد بگیرند، شروع به یادگیری مفاهیم پشت واکنشپذیری کنند، و حتی اگر نمیتوانند یا نمیخواهند، نگران استفاده از RX.js Angular نباشند.
هنگامی که با اصول اولیه Angular راحت شدید و میخواهید به سبک کدنویسی شفافتری بروید، میتوانید به راحتی RX.js را به مفاهیمی که قبلاً درک کردهاید اضافه کنید.
سیگنال ها باید برنامه نویسی زاویه ای را برای همه بهبود بخشند
سیگنال ها مکانیسم واکنشی جدید Angular است که می توانید از آن برای ایجاد مقادیر واکنشی برای خواندن مصرف کنندگان استفاده کنید. یک سیگنال بلافاصله پس از تغییر ارزش آن به همه مصرف کنندگان اطلاع می دهد. سیگنال ها فرآیند یادگیری Angular را با کنار هم قرار دادن رویکردهای ضروری و اعلامی برای کدنویسی هماهنگ می کنند.
Angular به سیگنالها تکیه میکند تا تشخیص تغییر را سبکتر و قویتر کند. بنابراین، به عنوان یک توسعه دهنده Angular، یادگیری استفاده از سیگنال ها به شما درک محکم تری از واکنش پذیری در Angular می دهد و شما را به یک توسعه دهنده بهتر تبدیل می کند. فراموش نکنید که قبل از یادگیری قسمت های پیشرفته تر، بر اصول اولیه Angular مسلط شوید.