emits (emits)
emits در ویو یعنی «رویداد سفارشی» که کامپوننت فرزند به والد می فرستد. مثل زنگ مدرسه که خبر می دهد کلاس تمام شد.
تعریف و کاربرد emits
گزینه emits لیست رویدادهای سفارشیِ خارج شونده را مشخص می کند. لازم نیست حتماً تعریف شود؛ اما نوشتن آن توصیه می شود تا دیگران بدانند کامپوننت چه رویدادهایی می فرستد.
حالت آرایه فقط نام رویدادها را می نویسد. حالت شیء می تواند برای هر رویداد «اعتبارسنج» بدهد؛ اگر اعتبارسنج ندارید، مقدارش می تواند null باشد.
نمونه ساده: تعریف و شلیک رویداد سفارشی
export default {
emits: [
'custom-event'
],
methods: {
notifyParent() {
this.$emit('custom-event', 'Hello!');
}
}
};
گام های عملی کار با emits
- نام رویدادها را در
emitsاعلام کن. - در متد، با
$emitرویداد را شلیک کن. - در والد، رویداد را با
v-onیا@گوش کن.
نکته: تعریف emits اجباری نیست؛ اما برای مستندسازی عالی است.
هشدار: هنگام استفاده از فلش فانکشن، به this دسترسی ندارید. برای متدها از توابع معمولی استفاده کن.
جمع بندی سریع
- emits رویدادهای خروجی را معرفی می کند.
- آرایه ساده است؛ شیء اعتبارسنج دارد.
- $emit رویداد را اجرا می کند.
- نوشتن emits مستندسازی تمیز می دهد.
- از فلش فانکشن در متدها پرهیز کن.
لینک های داخلی: ایونت سفارشی ویو، props، watch.
منابع: مرجع emits، مرجع $emit()، Vue Props.