hasInjectionContext() التحقق من إمكانية inject بأمان
آخر تحديث: 2026-10-22
hasInjectionContext() التحقق من إمكانية inject بأمان
تحدّد hasInjectionContext() ما إذا كان السياق الحالي يسمح باستخدام inject (داخل setup أو المكوّن)، وتُستخدم كفحص مسبق عند كتابة الدوال المساعدة العامة.
| المجموعة | حقن التبعيات |
|---|---|
| النوع | API |
| النطاق | داخل المكوّن |
| إصدار Vue | 3.3+ |
| دعم SSR | مدعوم |
📝 الصيغة
if (hasInjectionContext()) {
const cfg = inject('config')
}
القيمة المُرجعة:قيمة منطقية
▶ مثال
عدّل الشيفرة أدناه وشاهد النتيجة مباشرة:
المخرجات:
Shows 'Context available: true'.
💡 نقاط مهمة
ℹ️ ملاحظة عند كتابة المكتبات/الدوال المساعدة يُستطلع السياق أولًا لتجنّب استدعاء inject في بيئة غير مكونية وإصدار تحذير.
⚠️ تحذير متاحة من 3.3+ فقط؛ وفي المشاريع الأقدم يمكن البديل بـ «try/catch داخل setup» أو تمرير المعاملات صراحةً.
🏷️ حقن التبعيات ذات صلة
💡 حالات ذات صلة
المزيد من الحالات قريباً.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
س ماذا يحدث دون استخدامها؟
ج استدعاء inject في بيئة غير مكونية يُصدر تحذيرًا ويُعيد undefined، وقد تُخطئ المنطق بصمت.
س من يستخدمها عادةً؟
ج مكتبات المكوّنات والدوال التركيبية: إذ تحتاج إلى دعم الإعدادات المحقونة معًا وإلى العمل في بيئة JS صرفة.
س هل تعني «داخل setup»؟
ج تقريبًا: تُعيد true في كل سياقات التشغيل التي يُسمح فيها بـ inject (بما فيها الدوال التركيبية العاملة داخل effectScope).