DI Angular ialah berhierarki: penyuntik membentuk pohon yang mencerminkan pohon komponen/modul. Apabila sebuah komponen meminta kebergantungan, Angular berjalan ke atas pohon penyuntik sehingga menemukan penyedia — yang mengawal sama ada anda mendapatkan singleton yang dikongsi atau instans berasingan bagi setiap komponen.
Hierarki penyuntik
Root injector (app-wide) ← providedIn: 'root' lives here (one singleton)
└─ Module/Route injectors
└─ Component injector ← providers: [...] in @Component
└─ Child component injector
