inject फ़ंक्शन
inject फ़ंक्शन से डिपेंडेंसी हल करें।
inject फ़ंक्शन, CoddyKit पर Angular Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Angular Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
inject फ़ंक्शन
inject() फ़ंक्शन इंजेक्टर से कोई निर्भरता प्राप्त करता है। यह कन्स्ट्रक्टर पैरामीटर इंजेक्शन का आधुनिक विकल्प है।
मूल उपयोग
जिस वर्ग की आवश्यकता हो, उसके साथ inject को कॉल करें और परिणाम को किसी फ़ील्ड में असाइन करें।
import { Component, inject } from '@angular/core';
import { DataService } from './data.service';
@Component({ selector: 'app-x', template: '' })
export class XComponent {
private data = inject(DataService);
}कन्स्ट्रक्टर इंजेक्शन की तुलना में
पुरानी शैली में निर्भरताओं को कन्स्ट्रक्टर पैरामीटर के रूप में घोषित किया जाता है। inject() फ़ील्ड इनिशियलाइज़र के रूप में वही काम करता है, जो अक्सर अधिक साफ़ होता है।
// old style:
// constructor(private data: DataService) {}inject को कहाँ कॉल किया जा सकता है
inject() को इंजेक्शन संदर्भ में चलना चाहिए: किसी घटक, डायरेक्टिव या सेवा के निर्माण के दौरान, या फ़ील्ड इनिशियलाइज़र और प्रदाता फ़ैक्टरी फ़ंक्शन में।
सेवा में इंजेक्शन
सेवाओं के भीतर भी inject का उपयोग करें, उदाहरण के लिए HttpClient प्राप्त करने के लिए।
import { Injectable, inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
@Injectable({ providedIn: 'root' })
export class Api {
private http = inject(HttpClient);
}कम अतिरिक्त कोड
inject के साथ आपको लंबे कन्स्ट्रक्टर सिग्नेचर से बचने का लाभ मिलता है। हर निर्भरता एक सरल फ़ील्ड घोषणा होती है, जिसे पढ़ना और क्रम बदलना आसान है।
इंजेक्ट की गई सेवाओं का उपयोग
इंजेक्ट किए जाने के बाद, सेवा को किसी भी ऑब्जेक्ट की तरह कॉल करें।
export class XComponent {
private store = inject(CounterStore);
add() { this.store.increment(); }
}फ़ंक्शनल गार्ड में inject
फ़ंक्शनल रूट गार्ड और रिज़ॉल्वर इंजेक्शन संदर्भ में चलते हैं, इसलिए सेवाओं तक पहुँचने के लिए आप उनके भीतर inject कॉल कर सकते हैं।
// export const authGuard = () => {
// const auth = inject(AuthService);
// return auth.isLoggedIn();
// };वैकल्पिक निर्भरताएँ
inject विकल्प स्वीकार करता है, जैसे किसी निर्भरता को वैकल्पिक चिह्नित करना, ताकि उसके उपलब्ध न होने पर त्रुटि देने के बजाय null लौटे।
// const logger = inject(Logger, { optional: true });इंजेक्शन संदर्भ के बाहर
इंजेक्शन संदर्भ के बाहर inject कॉल करने पर (उदाहरण के लिए setTimeout कॉलबैक में) त्रुटि आती है। इसके बजाय निर्माण के दौरान निर्भरता को प्राप्त करके रखें।
inject को प्राथमिकता क्यों दें
inject, मिक्सिन, आधार वर्ग और फ़ंक्शनल API के साथ अच्छी तरह काम करता है और घटक वर्गों को संक्षिप्त रखता है। यह आधुनिक Angular में सुझाया गया तरीका है।
त्वरित जाँच: inject
निर्भरता प्राप्त करना।
पुनरावलोकन: inject
आपने inject() फ़ंक्शन को निर्भरताएँ प्राप्त करने के आधुनिक तरीके के रूप में सीखा। इसका उपयोग इंजेक्शन संदर्भ के भीतर घटकों, सेवाओं और फ़ंक्शनल गार्ड में किया जा सकता है। यह कन्स्ट्रक्टर इंजेक्शन की तुलना में अतिरिक्त कोड कम करता है और optional जैसे विकल्पों का समर्थन करता है। अगला विषय: प्रदाता और स्कोप।
एआई शिक्षक के साथ HTML सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 38
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “inject फ़ंक्शन” पाठ निःशुल्क है?
हाँ — Angular Academy अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “inject फ़ंक्शन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Angular Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“inject फ़ंक्शन” में मैं क्या सीखूँगा?
inject फ़ंक्शन से डिपेंडेंसी हल करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Angular Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Angular Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Angular Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“inject फ़ंक्शन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Angular Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Angular Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- सेवाएँ और Injectable
- inject फ़ंक्शन
- प्रदाता और स्कोप
- इंजेक्शन टोकन