onScopeDispose() تسجيل رد نداء لتدمير النطاق

آخر تحديث: 2026-10-22

onScopeDispose() تسجيل رد نداء لتدمير النطاق

تُنفّذ onScopeDispose() التنظيف عند توقف النطاق الحالي: تُستخدم عند كتابة الدوال التركيبية لإلغاء تسجيل المستمعين العامة والمؤقتات وغيرها من الموارد.

المجموعةالتفاعلية: المتقدم
النوعAPI
النطاقداخل المكوّن
إصدار Vue3.0+
دعم SSRمدعوم

📝 الصيغة

onScopeDispose(() => {
  window.removeEventListener('resize', onResize)
})

⚙️ الوسائط

fnدالة التنظيف (يمكن تسجيلها عدة مرات)
failSilentlyعند true لا يُخطئ عند غياب نطاق نشط (3.5+)

القيمة المُرجعة:لا شيء

▶ مثال

عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:

المخرجات:

Shows the current window width, updating as you resize.

💡 نقاط مهمة

ℹ️ ملاحظة الفرق عن onUnmounted: ترتبط بالنطاق (بما في ذلك effectScope) ولا تقتصر على إلغاء تحميل المكوّن.
💡 نصيحة يُفضَّل استخدامها داخل الدوال التركيبية: حتى لو استدعى المستخدم الدالة داخل effectScope يتم التنظيف بشكل صحيح.
⚠️ تحذير يجب استدعاؤها تزامنيًا داخل نطاق نشط، والاستدعاء داخل رد نداء غير متزامن يُخطئ.
المزيد من الحالات قريباً.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

س أيّهما أستخدم: onScopeDispose أم onUnmounted؟
ج استخدم onUnmounted عند الكتابة داخل المكوّنات؛ وonScopeDispose عند الكتابة داخل الدوال القابلة لإعادة الاستخدام فهي أكثر عمومية.
س هل يمكن تسجيل عدة دوال تنظيف؟
ج نعم، تُنفَّذ بالترتيب الذي سُجّلت به.
س ماذا يحدث عند غياب نطاق نشط؟
ج تُصدر تحذيرًا؛ ومن 3.5+ يمكن معالجته بصمت عبر المعامل الثاني failSilently.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%