अपने कोणीय प्रदाताओं को गलत इंजेक्टर में समाप्त होने से कैसे रोकें

May 03 2023
कोणीय में, सादे कार्यों का उपयोग करके निर्भरता इंजेक्शन प्रदाताओं को पंजीकृत करना एक सामान्य अभ्यास है। हालांकि, ऐसे कार्यों का निर्माण करते समय, उनके इच्छित उपयोग पर विचार करना महत्वपूर्ण है।

कोणीय में, सादे कार्यों का उपयोग करके निर्भरता इंजेक्शन प्रदाताओं को पंजीकृत करना एक सामान्य अभ्यास है। हालांकि, ऐसे कार्यों का निर्माण करते समय, उनके इच्छित उपयोग पर विचार करना महत्वपूर्ण है।

उदाहरण के लिए, एंगुलर कई कार्य प्रदान करता है जैसे provideHttpClient(), provideRouter(), और withDomHydration()यह हुड के तहत प्रदाताओं को पंजीकृत करता है। इन कार्यों को एक घटक या निर्देशक इंजेक्टर के बजाय पर्यावरण इंजेक्टर में उपयोग करने के लिए डिज़ाइन किया गया है ।

मान लीजिए कि आप एक ऐसा फ़ंक्शन बना रहे हैं provideSvgIconsConfig()जो SVG आइकन कॉन्फ़िगरेशन के लिए एक प्रदाता को पंजीकृत करता है। यदि आप इस फ़ंक्शन का उपयोग किसी घटक या डायरेक्टिव इंजेक्टर में करते हैं, तो आपको कोई त्रुटि नहीं दिखाई देगी। हालाँकि, इससे अनपेक्षित व्यवहार या रेखा के नीचे त्रुटियाँ हो सकती हैं।

export function provideSvgIconsConfig(config: Partial<SVG_CONFIG>) {
  return {
    provide: SVG_ICONS_CONFIG,
    useValue: config,
  };
}

      
                
No Error

provideSvgIconsConfigइसे स्पष्ट करने के लिए, उपयोग के अद्यतन कार्यान्वयन पर विचार करें makeEnvironmentProviders:

import { makeEnvironmentProviders } from '@angular/core';

export function provideSvgIconsConfig(config: Partial<SVG_CONFIG>) {
  return makeEnvironmentProviders([
    {
      provide: SVG_ICONS_CONFIG,
      useValue: config,
    },
  ]);
}

Angular और JS के बारे में अधिक पढ़ने के लिए मुझे मीडियम या Twitter पर फॉलो करें!