ویوجی اس 3.3 چه تغییراتی کرده است؟
این نسخه فوکوس یا اشاره کرده است که کسانی ویوجی اس با تایپ اسکریپت
کار می کنند
Dependency Updates
When upgrading to 3.3, it is recommended to also update the following dependencies:
volar / vue-tsc@^1.6.4
vite@^4.3.5
@vitejs/plugin-vue@^4.2.0
vue-loader@^17.1.0 (if using webpack or vue-cli)
<script setup> + TypeScript DX Improvements
Imported and Complex Types Support in Macros
در ویو جی اس از defineprops,defineemits پوزیشنی که به صورت تایپ می توانید استفاده کنیدوهر دوتایپ وinterface در تایپ اسکریپت پشتیبانی می کند
کامپونت جنریک
در این کامپونت تایپ وپارامتر واون صفتی که دارید به صورت جنریک بفرستی
این value اینطور کار می کند بعضی مقدار در تایپ اسکریپت بتواند بگیرد به این حالت<....>
برای مثال شما می توانید پارامترهای چندین حالته استفاده کنید وextends محدودیت تایپ دارد ودر ریفرنس انواع وارداتی ها استفاده کنید
به این کد توجه کنید
این ویژگی در آخرین نسخهvue-tsc فعال است
در این پارامتر defineemits از پشتیبانی وارتباط برقرار می کند با سینتکس سیگنالتور
تایپ می توانید برگردانید برای جایی که emit استفاده کردید اما این به صورت پر مخاطره نوشته شده است وبه صورت ارگومیک تری ان را معرفی می کند
Save translation
در نوع literal، کلید نام رویداد و مقدار آن یک نوع آرایه است که آرگومان های اضافی را مشخص می کند. .
تایپ اسلات با define slot
این define slot یک ماکروجدیدی که می توانید استفاده کنید اسلات های مربوطه اعلام واستفاده کنید
defineSlots() فقط یک پارامتر نوع و هیچ آرگومان زمان اجرا را می پذیرد.پارامتر نوع باید یک نوع literal باشد که در آن کلید ویژگی نام شکاف استاولین آرگومان تابع پروپ هایی است که اسلات انتظار دریافت آن را دارد و نوع آن برای شیارهای موجود در قالب استفاده می شود. مقدار برگشتی defineSlots همان شیء اسلات است که از useSlots برگردانده شده است
بررسی اسلات های مورد نیاز هنوز در vue tsc هنوز اجرا نشده است
نوع بازگشت تابع اسلات در حال حاضر نادیده گرفته شده است و می تواند هر کدام باشد، اما ممکن است در آینده از آن برای بررسی محتوای اسلات استفاده کنیم
ویژگی های تجربی
پیش از این بخشی از ساختار Reactivity Transform که اکنون حذف شده بود، به یک ویژگی جداگانه تقسیم شده است.
به این کد توجه کنید
قبلا این کامپونتی بود که v-model از two-way biniding پشتیبانی می کرد آن نیاز می شود در جای که props ,emit استفاده می کنیم واین متناظربا موقعی که event پشتیبانی می کنیم واون props به روز کنیم
استفاده از ماکرو جدید define model این کار ساده کرده است این ماکرو میتواند props اتوماتیک رجیستر کند وبرگرداند در ref و می تواند با muted مستقیم ارتباط برقرار کند
define options
این define options یک ماکروی که اجازه می دهد مستقیم با options script setup در تماس باشید
می توانید با toref مثل یک ارتباط دهنده با computed در ارتباط باشید یک value جدید ایجاد کنید واون بااستفاده از inject استفاده کنید
این tovalue را می توان به جای unref استفاده کرد ومی توانید داده به صورت getter بگیرید بپذیرد و تغییردهید ودیتا سورس ها به صورت ریکتیو نشان دهید
رابطه toref ,tovalue مشابه رابطه بین ref,unref است که تفاوت ان در مدیریت خاص گیرنده است
برگرفته شده و ترجمه شده از این مقاله است
https://blog.vuejs.org/posts/vue-3-3