प्रदाता और स्कोप
नियंत्रित करें कि ट्री में सेवाएँ कहाँ रहती हैं।
प्रदाता और स्कोप, CoddyKit पर Angular Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Angular Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
प्रदाता और स्कोप
प्रदाता Angular को बताता है कि निर्भरता कैसे बनानी है। जिस स्कोप में आप उसे पंजीकृत करते हैं, वह निर्धारित करता है कि कितने इंस्टेंस होंगे और उन्हें कौन साझा करेगा।
रूट स्कोप
providedIn: root किसी सेवा को रूट इंजेक्टर में पंजीकृत करता है: पूरे ऐप के लिए एक साझा सिंगलटन। यह सबसे सामान्य विकल्प है।
@Injectable({ providedIn: 'root' })
export class AppStore {}घटक प्रदाता
घटक की providers ऐरे में सेवा सूचीबद्ध करके आप उसका स्कोप किसी घटक तक सीमित कर सकते हैं। उस घटक के हर इंस्टेंस को सेवा का अपना इंस्टेंस मिलता है।
import { Component } from '@angular/core';
import { LocalStore } from './local-store';
@Component({
selector: 'app-panel',
providers: [LocalStore],
template: ''
})
export class PanelComponent {}घटक स्कोप क्यों
घटक-स्कोप वाले प्रदाताओं का उपयोग तब करें, जब हर घटक इंस्टेंस को अपनी अलग स्थिति चाहिए, जैसे फ़ॉर्म स्थिति ऑब्जेक्ट या प्रत्येक विजेट के लिए अलग स्टोर।
रूट बनाम घटक
रूट: हर जगह साझा किया गया एक इंस्टेंस। घटक: प्रत्येक घटक इंस्टेंस (और उसके बच्चों) के लिए एक इंस्टेंस। चुनाव इस आधार पर करें कि स्थिति साझा होनी चाहिए या अलग।
इंजेक्टर पदानुक्रम
Angular इंजेक्टर एक ट्री बनाते हैं। निर्भरता का समाधान करते समय Angular घटक इंजेक्टर में देखता है, फिर ऊपर की ओर पैरेंट इंजेक्टरों से होते हुए अंत में रूट तक पहुँचता है।
बाल घटक विरासत में पाते हैं
किसी घटक पर उपलब्ध कराई गई सेवा उसके बाल घटकों के लिए भी उपलब्ध होती है, जब तक कि कोई बाल घटक अपना इंस्टेंस उपलब्ध न करा दे। ऐसा होने पर वह पैरेंट को ढक देता है।
एप्लिकेशन-स्तरीय प्रदाता
आप bootstrapApplication की providers ऐरे में bootstrap के समय भी प्रदाता पंजीकृत कर सकते हैं। यह रूट स्कोप के समान है और अक्सर provide* फ़ंक्शन के माध्यम से किया जाता है।
// bootstrapApplication(AppComponent, {
// providers: [provideHttpClient()]
// });useClass और useValue
प्रदाता किसी टोकन को useClass के साथ किसी वर्ग, useValue के साथ किसी निश्चित मान या useFactory के साथ किसी फ़ैक्टरी से मैप कर सकते हैं। इससे प्रतिस्थापन और कॉन्फ़िगरेशन संभव होते हैं।
// providers: [{ provide: Logger, useClass: ConsoleLogger }]इम्प्लीमेंटेशन बदलना
क्योंकि प्रदाता किसी टोकन को किसी इम्प्लीमेंटेशन से मैप करता है, इसलिए उपभोक्ताओं में बदलाव किए बिना इम्प्लीमेंटेशन बदले जा सकते हैं (उदाहरण के लिए tests में कोई मॉक)।
स्कोप चुनना
साझा सिंगलटन के लिए डिफ़ॉल्ट रूप से root चुनें। घटक प्रदाताओं का उपयोग केवल तब करें, जब आपको प्रत्येक इंस्टेंस के लिए अलग स्थिति चाहिए।
त्वरित जाँच: स्कोप
प्रत्येक इंस्टेंस की स्थिति।
पुनरावलोकन: प्रदाता और स्कोप
आपने सीखा कि प्रदाता निर्भरताएँ बनाने का तरीका बताते हैं और स्कोप इंस्टेंस निर्माण को नियंत्रित करता है: ऐप-व्यापी सिंगलटन के लिए root और प्रत्येक इंस्टेंस को अलग रखने के लिए घटक प्रदाता। Angular इंजेक्टर पदानुक्रम के माध्यम से समाधान करता है, और useClass/useValue/useFactory से इम्प्लीमेंटेशन बदले जा सकते हैं। अगला विषय: इंजेक्शन टोकन।
एआई शिक्षक के साथ HTML सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 38
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “प्रदाता और स्कोप” पाठ निःशुल्क है?
हाँ — Angular Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “प्रदाता और स्कोप” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“प्रदाता और स्कोप” में मैं क्या सीखूँगा?
नियंत्रित करें कि ट्री में सेवाएँ कहाँ रहती हैं। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Angular Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Angular Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Angular Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“प्रदाता और स्कोप” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Angular Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Angular Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- सेवाएँ और Injectable
- inject फ़ंक्शन
- प्रदाता और स्कोप
- इंजेक्शन टोकन