نظام DI في Angular هو هرمي: تشكل أجهزة الحقن شجرة تعكس شجرة المكونات/الوحدات. عندما يطلب مكون اعتمادية، يمشي Angular لأعلى شجرة أجهزة الحقن حتى يجد مزودًا — وهذا يتحكم في ما إذا كنت تحصل على singleton مشترك أو مثيل منفصل لكل مكون.
الهرمية في نظام الحقن
Root injector (app-wide) ← providedIn: 'root' lives here (one singleton)
└─ Module/Route injectors
└─ Component injector ← providers: [...] in @Component
└─ Child component injector
يبدأ البحث من المكون الطالب ويفقاعة لأعلى إلى الجذر. يفوز مزود يتم العثور عليه.
