onBeforeUnmount() خُطاف ما قبل إلغاء التحميل
آخر تحديث: 2026-10-22
onBeforeUnmount() خُطاف ما قبل إلغاء التحميل
تُستدعى onBeforeUnmount() قبل تدمير المكوّن مباشرة: لا يزال DOM صالحًا، وهي الفرصة الأخيرة لتنظيف المؤقتات والمستمعين ونسخ المكتبات الخارجية يدويًا.
| المجموعة | خطافات دورة الحياة |
|---|---|
| النوع | API |
| النطاق | داخل المكوّن |
| إصدار Vue | 3.0+ |
| دعم SSR | مدعوم |
📝 الصيغة
onBeforeUnmount(() => {
clearInterval(timer)
chart.destroy()
})
⚙️ الوسائط
| callback | الدالة التي تُنفَّذ قبل إلغاء التحميل |
|---|
القيمة المُرجعة:لا شيء
▶ مثال
عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:
المخرجات:
The counter ticks each second and stops after unmount.
💡 نقاط مهمة
💡 نصيحة تُحرَّر هنا جميع الموارد اليدوية في أزواج: setInterval↔clearInterval، وaddEventListener↔removeEventListener، ونسخة المكتبة الخارجية↔destroy().
ℹ️ ملاحظة إذا كُتب منطق التنظيف داخل دالة تركيبية فاستخدم onScopeDispose فهي أكثر عمومية.
⚠️ تحذير لا يزال DOM موجودًا هنا؛ فإذا اعتمد التنظيف على حالة DOM فأكمله قبل هذه المرحلة.
🏷️ خطافات دورة الحياة ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قريباً.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
س كيف تتقاسم المهام مع onUnmounted؟
ج كلتاهما تُستخدمان للتنظيف: الفرق فيما إذا كان DOM صالحًا — التنظيف الذي يحتاج DOM يوضع هنا، والمنطق الصرف في onUnmounted.
س ماذا يحدث دون تنظيف؟
ج تستمر المؤقتات في العمل وتتراكم المستمعون مع النسخ الجديدة، ومع طول الاستخدام يحدث تسرّب للذاكرة.
س هل يمكن منع إلغاء التحميل هنا؟
ج لا، فـ Vue لا يوفّر هذه الآلية؛ والطريقة الصحيحة هي التحكم في العرض عبر v-if.