برنامه نویسی

قسمت 23/24: Angular 16، RFCs برای Deferred Loading و داخلی Control-Flow

Angular 16.1 پشتیبانی از استفاده از روش واکشی بومی در HttpClient را اضافه کرده و یک تابع تبدیل برای @Input دکوراتور دو RFC جدید جایگزینی برای دستورالعمل‌های جریان کنترل و بارگذاری مؤلفه‌های معوق پیشنهاد می‌کنند.


Angular 16.1

fetch که در HttpClient

Angular 16.1 منتشر شده است که دو ویژگی مفید جدید را به فریمورک ارائه می کند.

اولین ویژگی به توسعه دهندگان اجازه می دهد تا از روش واکشی بومی به جای شیء قدیمی xhr در آن استفاده کنند HttpClient. برای فعال کردن این، به سادگی از withFetch عملکرد در provideHttpClient پیکربندی این ویژگی با نسخه قبلی سازگار است HttpClient ادامه بازگرداندن Observables و همه رهگیرها طبق انتظار عمل می کنند.

این بهبود به ویژه برای رندر سمت سرور مفید است، زیرا XmlHttpRequest (xhr) مختص مرورگرها است و در backend موجود نیست. با استفاده از روش واکشی بومی که در Node.js نیز موجود است، توسعه‌دهندگان می‌توانند از کتابخانه‌های اضافی اجتناب کنند.

ماتیو ریگلر، یکی از مشارکت کنندگان جامعه، برای اجرای این ویژگی شایسته تقدیر است. از اواخر سال 2022، متیو بیش از 200 تعهد به مخزن Angular انجام داده است.

این کامیت جدید را معرفی می کند HttpBackend پیاده سازی که با استفاده از fetch API درخواست می کند

این ویژگی یک پیش‌نمایش توسعه‌دهنده است و انتخابی است. با تنظیم ارائه دهندگان با فعال می شود provideHttpClient(withFetch()).

در حال حاضر پیشرفت گزارش اجرا و استفاده نمی شود reportProgress: true خطا خواهد کرد

نکته: واکشی API آزمایشی در Node است اما بدون پرچم از Node 18 به بعد در دسترس است. NB2: آزمایش‌های ارائه شده در روابط عمومی اجرا نمی‌شوند fetch در نسخه نود ارائه شده توسط فضای کاری bazel در دسترس نیست (16.14)


ویرایش: پین کردن پاسخی که در زیر در مورد هدف این باطن جدید دادم:

Xhr به صورت بومی در NodeJS پشتیبانی نمی شود و به polyfill نیاز دارد. در حال حاضر Angular از xhr2 برای این کار استفاده می کند. با این حال، polyfill عوارض جانبی دارد و در محیط‌های غیر Node.js (مانند Edge Workers) کار نمی‌کند. همچنین مشکلات دیگری مانند https://github.com/angular/angular/issues/46930 وجود دارد (Gzip را پشتیبانی نمی کند).

این روابط عمومی چه نوع تغییری را ایجاد می کند؟

https://github.com/angular/angular/issues/27689 بسته می شود

transform که در @Input

دومین ویژگی معرفی شده در Angular 16.1 اضافه کردن یک تابع تبدیل برای دکوراتور @Input است. این تابع نگاشت از یک نوع داده به نوع دیگر را امکان پذیر می کند و آن را به ویژه برای «پارامترهای روتر به عنوان ورودی مؤلفه» که در Angular 16 معرفی شده است مفید می کند.

به عنوان مثال، هنگام دریافت پارامتر ID به عنوان یک رشته، توسعه دهندگان می توانند از تابع transform برای نگاشت آن به یک عدد قبل از اختصاص آن به یک ویژگی استفاده کنند.

Angular 16.1 منتشر شد!

فاویکون
blog.ninja-squad.com

RFC های جدید

ما همچنین دو RFC جدید دریافت کرده ایم.

جریان کنترل داخلی

اولین RFC جایگزینی برای دستورالعمل های کنترل جریان موجود مانند *ngIf یا *ngFor. به جای معرفی دستورالعمل های جدید، این یک نحو جدید است که مستقیماً در قالب ساخته شده است.

این امر نیاز به واردات دستورالعمل جداگانه را از بین می برد. این تغییر برای همسو شدن با سیگنال ها ضروری است.

نحو قالب جدید از چارچوب Svelte الهام گرفته شده است.

پیوند به RFC

بارگذاری معوق

RFC دوم بر بارگذاری به تعویق افتاده مؤلفه ها تمرکز می کند و یک نحو قالب جدید را برای تعیین شرایط زمانی که یک مؤلفه باید بارگذاری شود، مانند قابلیت مشاهده در viewport معرفی می کند.

همچنین به توسعه دهندگان اجازه می دهد تا رفتار رندر را برای حالت های بارگذاری یا خطا تعریف کنند. این ویژگی با عملکرد مشابه موجود در چارچوب React مطابقت دارد.

پیوند به RFC

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا