सेवाएँ और Injectable
साझा तर्क के लिए इंजेक्ट की जा सकने वाली सेवाएँ बनाएँ।
सेवाएँ और Injectable, CoddyKit पर Angular Academy का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Angular Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
सेवाएँ और Injectable
सेवा एक ऐसा वर्ग है जिसमें दोबारा उपयोग किया जा सकने वाला तर्क या स्थिति होती है, जैसे डेटा प्राप्त करना या साझा स्टोर। Angular निर्भरता इंजेक्शन के माध्यम से सेवाएँ बनाता और साझा करता है।
सेवाएँ क्यों
घटकों को दृश्य पर ध्यान केंद्रित करना चाहिए। व्यावसायिक तर्क, API कॉल और साझा स्थिति को सेवाओं में रखें, ताकि उनका स्वतंत्र रूप से दोबारा उपयोग और परीक्षण किया जा सके।
Injectable डेकोरेटर
किसी सेवा वर्ग पर @Injectable लगाएँ, ताकि Angular उसे बना सके और जहाँ आवश्यक हो वहाँ इंजेक्ट कर सके।
import { Injectable } from '@angular/core';
@Injectable({ providedIn: 'root' })
export class DataService {}providedIn root
providedIn: 'root' सेवा को एप्लिकेशन के रूट इंजेक्टर के साथ पंजीकृत करता है। Angular पूरे ऐप के लिए एक साझा एकल इंस्टेंस (सिंगलटन) बनाता है।
ट्री-शेक किए जा सकने वाले प्रदाता
क्योंकि प्रदाता वर्ग पर providedIn के साथ घोषित होता है, इसलिए उपयोग में न आने वाली सेवाओं को बंडल से अपने-आप हटाया जा सकता है।
स्थिति वाली सेवा
सेवाओं में अक्सर स्थिति होती है। signals के साथ सेवा से प्रतिक्रियाशील स्थिति उपलब्ध कराएँ।
import { Injectable, signal } from '@angular/core';
@Injectable({ providedIn: 'root' })
export class CounterStore {
count = signal(0);
increment() { this.count.update(v => v + 1); }
}विधियों वाली सेवा
ऐसी विधियाँ जोड़ें जिन्हें घटक क्रियाएँ करने या डेटा प्राप्त करने के लिए कॉल कर सकें।
@Injectable({ providedIn: 'root' })
export class GreetingService {
greet(name: string): string {
return 'Hello, ' + name;
}
}सेवा बनाना
CLI ऐसी सेवा का प्रारूप तैयार करता है, जिसमें Injectable डेकोरेटर पहले से जोड़ा हुआ होता है।
ng g service dataसिंगलटन स्थिति साझा करते हैं
क्योंकि रूट सेवा एक सिंगलटन होती है, इसलिए उसे इंजेक्ट करने वाला हर घटक वही इंस्टेंस और वही स्थिति देखता है। इसी तरह घटक डेटा साझा करते हैं।
सेवाएँ अन्य सेवाओं को इंजेक्ट कर सकती हैं
एक सेवा अन्य सेवाओं पर निर्भर हो सकती है। उदाहरण के लिए, कोई डेटा सेवा अनुरोध करने के लिए HttpClient सेवा का उपयोग कर सकती है।
सेवाओं को केंद्रित रखें
हर सेवा को एक स्पष्ट ज़िम्मेदारी दें। कई काम करने वाली बड़ी सेवाओं की तुलना में छोटी और केंद्रित सेवाओं का परीक्षण और पुनः उपयोग करना आसान होता है।
त्वरित जाँच: Injectable
सिंगलटन सेवा को पंजीकृत करना।
पुनरावलोकन: सेवाएँ
आपने सीखा कि सेवाओं में दोबारा उपयोग किया जा सकने वाला तर्क और स्थिति होती है, उन्हें @Injectable से चिह्नित किया जाता है, और ऐप-व्यापी सिंगलटन पंजीकृत करने के लिए providedIn: root का उपयोग किया जाता है। सेवाएँ घटकों के बीच स्थिति साझा कर सकती हैं और अन्य सेवाओं पर निर्भर हो सकती हैं। अगला विषय: inject फ़ंक्शन।
एआई शिक्षक के साथ HTML सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 38
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “सेवाएँ और Injectable” पाठ निःशुल्क है?
हाँ — Angular Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “सेवाएँ और Injectable” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“सेवाएँ और Injectable” में मैं क्या सीखूँगा?
साझा तर्क के लिए इंजेक्ट की जा सकने वाली सेवाएँ बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Angular Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Angular Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Angular Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“सेवाएँ और Injectable” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Angular Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Angular Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- सेवाएँ और Injectable
- inject फ़ंक्शन
- प्रदाता और स्कोप
- इंजेक्शन टोकन