انحصار انجیکشن ایک سافٹ ویئر ڈیزائن کا نمونہ ہے جو اس طریقے کی وضاحت کرتا ہے جس میں اجزاء اپنی انحصار کو برقرار رکھتے ہیں۔ اجزاء کو سخت کوڈنگ کے بجائے انحصار دیا جاتا ہے۔ انحصار انجیکشن کا استعمال کرکے دوبارہ استعمال اور استحکام کو حاصل کیا جاسکتا ہے۔ میں سپریم انحصار انجکشن مندرجہ ذیل اجزاء کے ذریعہ کیا جاسکتا ہے:
قدر انحصار انجیکشن
AngularJs میں ایک سادہ شے کو قدر کے طور پر جانا جاتا ہے۔ یہ تار ، ایک عدد یا یہاں تک کہ جاوا اسکرپٹ آبجیکٹ ہوسکتا ہے۔ اسے رن اینڈ کنفیج مرحلے کے دوران کارخانوں ، خدمات یا کنٹرولرز میں اقدار کو منتقل کرنے کے لئے استعمال کیا جاسکتا ہے۔
مثال:
// ماڈیول کی وضاحت کریں
var firstModule = Angular.module ('firstModule' ، [])
// ایک ویلیو آبجیکٹ بنائیں اور اس میں ڈیٹا منتقل کریں
پہلا ماڈیول ڈیویلیو ('نمبر ویلیو' ، 50)
فرسٹ موڈول ڈویلیو ('سٹرنگ ویلیو' ، 'xyz')
فرسٹ موڈول ڈویلیو ('آبجیکٹ ویلیو' ، {ویل 1: 456 ، ویل 2: 'xyz'})
اس مثال میں ، ویلیو () فنکشن کا استعمال کرتے ہوئے اقدار کی تعریف کی جاتی ہے۔ قدر کا نام پہلے پیرامیٹر کے ذریعہ بیان کیا گیا ہے ، اور دوسرا پیرامیٹر قیمت کی وضاحت کرتا ہے۔ اس سے فیکٹریوں ، خدمات اور کنٹرولروں کو ان اقدار کا نام خود ان کے حوالہ کرنے کا اہل بناتا ہے۔
ایک قیمت لگانا
ہم اسی نام کے ساتھ پیرامیٹر کو ویلیو کے ساتھ شامل کرکے AngularJs کنٹرولر فنکشن میں ایک قیمت انجیکشن کر سکتے ہیں۔
مثال:
var firstModule = Angular.module ('firstModule' ، [])
پہلا ماڈیول ڈیویلیو ('نمبر ویلیو' ، 18)
firstModule.controller ('فرسٹ کنٹرولر' ، فنکشن ($ اسکوپ ، نمبر ویلیو) {
کنسول.لاگ (نمبر ویلیو)
})
فیکٹری انجکشن
ایسی فنکشن جو اقدار کی تشکیل کرتی ہے اسے فیکٹری کے نام سے جانا جاتا ہے۔ فیکٹری کے ذریعہ مانگ پر ایک قدر پیدا ہوتی ہے ، جب بھی کسی خدمت یا کنٹرولر کو فیکٹری سے انجکشن لگانے والی قیمت کی ضرورت ہوتی ہے۔ ایک بار قیمت بننے کے بعد ، اسے تمام سروسز اور کنٹرولرز کے لئے دوبارہ استعمال کیا جاتا ہے۔
یہ قیمت کا حساب لگانے اور واپس کرنے کے لئے فیکٹری فنکشن کا استعمال کرتا ہے۔
مثال:
var firstModule = Angular.module ('firstModule' ، [])
فرسٹ موڈول ڈاٹ فیکٹری ('اول فیکٹری' ، فنکشن () {
'ایک قیمت' واپس
})
firstModule.controller ('فرسٹ کنٹرولر' ، فنکشن ($ اسکوپ ، فرسٹ فیکٹری) {
کنسول.لاگ (فرسٹ فیکٹری)
})
فیکٹری میں قیمتیں انجیکشن کرنا
ایک قیمت کو فیکٹری میں درج ذیل طریقہ سے لگایا جاسکتا ہے۔
var firstModule = Angular.module ('firstModule' ، [])
پہلا ماڈیول ڈیویلیو ('نمبر ویلیو' ، 29)
firstModule.controller ('فرسٹ کنٹرولر' ، فنکشن ($ اسکوپ ، نمبر ویلیو) {
کنسول.لاگ (نمبر ویلیو)
})
یہ ضروری ہے کہ قیمتفیکٹری فنکشن کی طرف سے تیار انجیکشن لگایا جاتا ہے ، نہ کہ فیکٹری کا کام خود۔ آئیے AngularJs میں Dependency Injection کے اس مضمون کے ساتھ آگے بڑھتے ہیں۔
AngularJs میں سروس انجکشن
ایک سنگلٹن جاوا اسکرپٹ آبجیکٹ جس میں افعال کا ایک سیٹ ہوتا ہے اسے AngularJs میں ایک خدمت کے نام سے جانا جاتا ہے۔ خدمت انجام دینے کے لئے ضروری منطق فنکشن میں موجود ہے۔ ماڈیول پر سروس () فنکشن کا استعمال کرکے سروس تخلیق کی جاسکتی ہے۔
مثال:
// ماڈیول کی وضاحت کریں
ورسٹ ایپ = کونیی.موڈول ('فرسٹ ایپ' ، [])
ابتدائیوں کے لئے بہار ایم وی سی سبق
...
// ایک ایسی خدمت تشکیل دیں جو ایک طریقہ کی وضاحت کرے ایک عدد کا مربع لوٹنے کے لئے مربع
firstApp.service ('CalciService' ، فنکشن (ریاضی کی خدمت) ervice
this.square = فنکشن (x) {
ریاضی کی خدمات کو واپس کریں۔ ملٹی پل (ایکس ، ایکس)
}
})
// کنٹرولر میں سروس 'کالسیسروس' لگائیں
firstApp.controller ('CalciController' ، فنکشن ($ دائرہ کار ، CalciService ،
ڈیفالٹ ان پٹ) {
$ اسپورٹ.نمبر = ڈیفالٹ ان پٹ
$ اسپورٹس.ریسلٹ = کالسیسروس ڈاٹ اسکوائر ($ اسپورٹ.نمبر)
$ সুযোগ.سکوائر = فنکشن () {
$ اسپورٹس.ریسلٹ = کالسیسروس ڈاٹ اسکوائر ($ اسپورٹ.نمبر)
}
})
فراہم کرنے والا
تشکیل مرحلے کے دوران داخلی طور پر خدمات یا فیکٹری بنانے کے ل we ، ہم فراہم کنندہ کا استعمال کرتے ہیں۔ فراہم کنندہ ایک خصوصی فیکٹری طریقہ ہے جس میں get () فنکشن ہوتا ہے جو قیمت / سروس / فیکٹری کو واپس کرنے کے لئے استعمال ہوتا ہے۔
مثال:
// ماڈیول کی وضاحت کریں
ورسٹ ایپ = کونیی.موڈول ('فرسٹ ایپ' ، [])
...
// فراہم کنندہ کا استعمال کرتے ہوئے ایک خدمت بنائیں جو واپس کرنے کے ل a ایک طریقہ کار مربع کی وضاحت کرے
ایک عدد کا مربع۔
firstApp.config (فنکشن ($ فراہم کریں) {
$ فراہم کرتا ہے۔ پروویڈر ('ریاضی کی خدمت' ، فنکشن () {
یہ۔ $ get = function () {
var فیکٹری =
فیکٹری.ملٹی پل = فنکشن (x ، y) {
x * y واپس کریں
}
واپسی فیکٹری
}
})
})
مستقل
چونکہ صارف ماڈیولکونفیگ () فنکشن میں اقدار انجیکشن نہیں کرسکتا ، لہذا ہم مستقل استعمال کرتے ہیں۔ تشکیل مرحلے میں اقدار کو منتقل کرنے کے لئے مستقل استعمال کیا جاتا ہے۔
فرسٹ ایپکونسٹنٹ ('کنفیگرم' ، 'مستقل قیمت')
مثال:
مندرجہ بالا ہدایت کو مندرجہ ذیل طریقے سے استعمال کیا جاسکتا ہے۔
جاوا میں کیا چیز ہے؟
انحصار انجکشن
AngularJS مربع مثال
کوئی بھی نمبر درج کریں:
ایکس2
نتیجہ: {{نتیجہ}
ورسٹ ایپ = کونیی.موڈول ('فرسٹ ایپ' ، [])
firstApp.config (فنکشن ($ فراہم کریں) {
$ فراہم کرتا ہے۔ پروویڈر ('ریاضی کی خدمت' ، فنکشن () {
یہ۔ $ get = function () {
var فیکٹری =
فیکٹری.ملٹی پل = فنکشن (x ، y) {
x * y واپس کریں
}
واپسی فیکٹری
}
})
})
فرسٹ ایپ.یویلیو ('ڈیفالٹ ان پٹ' ، 6)
فرسٹ ایپ فیکٹری ('ریاضی کی خدمت' ، فنکشن () {
var فیکٹری =
فیکٹری.ملٹی پل = فنکشن (x ، y) {
x * y واپس کریں
}
واپسی فیکٹری
})
firstApp.service ('CalciService' ، فنکشن (ریاضی کی خدمت) ervice
this.square = فنکشن (x) {
ریاضی کی خدمات کو واپس کریں۔ ملٹی پل (ایکس ، ایکس)
}
})
جاوا میں حوالہ سے قدر سے گزریں
firstApp.controller ('CalciController' ، فنکشن ($ دائرہ کار ، CalciService ، ڈیفالٹ ان پٹ) {
$ اسپورٹ.نمبر = ڈیفالٹ ان پٹ
$ اسپورٹس.ریسلٹ = کالسیسروس ڈاٹ اسکوائر ($ اسپورٹ.نمبر)
$ সুযোগ.سکوائر = فنکشن () {
$ اسپورٹس.ریسلٹ = کالسیسروس ڈاٹ اسکوائر ($ اسپورٹ.نمبر)
}
})
آؤٹ پٹ:
اس کے ساتھ ، ہم AngularJs آرٹیکل میں اس انحصار انجیکشن کا اختتام کرتے ہیں۔ سی ہیک آؤٹ ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔
ہمارے لئے ایک سوال ہے؟ براہ کرم AngularJs میں اس منحصر انجکشن کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم آپ کو واپس ملیں گے۔