emits التصريح بالأحداث المُطلَقة
آخر تحديث: 2026-10-22
emits التصريح بالأحداث المُطلَقة
يصرّح خيار emits بالأحداث التي يُطلقها المكوّن نحو المكوّن الأب، فيؤدي دور التوثيق والتحقق في وقت التشغيل (وتُصدَر تحذيرات للأحداث غير المصرّح بها).
| المجموعة | الخيارات: الحالة |
|---|---|
| النوع | خيار |
| النطاق | داخل المكوّن |
| إصدار Vue | 3.0+ |
| دعم SSR | مدعوم |
📝 الصيغة
export default {
emits: ["change", "submit"],
methods: {
fire() { this.$emit("change", 1) }
}
}
⚙️ الوسائط
| value | مصفوفة أو كائن: الصيغة الكائنية تكتب دالة تحقق (payload) => boolean |
|---|
القيمة المُرجعة:بلا قيمة مُعادة (يُطلَق عبر this.$emit)
▶ مثال
عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:
المخرجات:
Clicking shows 'Message received: from child'.
💡 نقاط مهمة
💡 نصيحة بعد التصريح تتعرّف بيئة التطوير وأدوات المطور على الأحداث، ويحصل قالب المكوّن الأب على تلميحات أيضاً.
⚠️ تحذير معلومة متعلقة بـ v-model: يجب كتابة update:modelValue ضمن emits أيضاً لتفادي التحذير.
ℹ️ ملاحظة يُنصح بأسماء أحداث بصيغة kebab-case (حالة أحرف خصائص HTML غير حساسة، وستُحوَّل camelCase إلى أحرف صغيرة).
🏷️ الحالة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قريباً.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
س ماذا يحدث دون تصريح emits؟
ج تبقى الوظيفة تعمل، لكن بيئة التطوير تُصدر تحذيراً، وقد تهبط الخصائص الممررة خطأً كمستمعي أحداث.
س هل يمكن تمرير عدة وسائط؟
ج نعم: $emit('change', a, b)، ويستلمها معالج المكوّن الأب بالترتيب.
س هل يمكن أن تكون أسماء الأحداث بـ camelCase؟
ج غير مستحسن: تُحوَّل إلى أحرف صغيرة في قوالب DOM، و kebab-case هي الأضمن.