पाठ 13 / 32

डिपेंडेंसी इंजेक्शन

Constructor parameters या inject function से components में services inject करें और fakes के साथ test करें।

कंस्ट्रक्टर इंजेक्शन

कंस्ट्रक्टर में एक टाइप्ड पैरामीटर घोषित करना वह पारंपरिक तरीका है जिससे Angular का इंजेक्टर सर्विस देता है।

@Component({ selector: 'app-cart', standalone: true, template: `...` })
export class CartComponent {
  constructor(private cartService: CartService) {}

  items = this.cartService.getItems();
}

inject() फ़ंक्शन

inject() बिना किसी कंस्ट्रक्टर पैरामीटर के डिपेंडेंसी लाता है — फ़ील्ड इनिशियलाइज़र और functional guards के लिए उपयोगी।

import { Component, inject } from '@angular/core';

@Component({ selector: 'app-cart', standalone: true, template: `...` })
export class CartComponent {
  private cartService = inject(CartService);
  items = this.cartService.getItems();
}

DI क्यों ज़रूरी है

डिपेंडेंसी इंजेक्शन कंपोनेंट को टेस्ट करना आसान बनाता है — यूनिट टेस्ट में असली सर्विस की जगह एक नकली सर्विस उपयोग करें।