ऐसी सेवाएं प्रदान करता है जो पुन: प्रयोज्य सिंगलटन ऑब्जेक्ट हैं। उनका उपयोग उपयोगकर्ताओं को AngularJS अनुप्रयोगों में कोड साझा करने के लिए किया जा सकता है। उन्हें निर्देश, फ़िल्टर और में भी इंजेक्ट किया जा सकता है । इस लेख में, हम AngularJS में कारखाने को समझेंगे।
AngularJS में फैक्टरी क्या है?
फैक्ट्री एक कोणीय फ़ंक्शन है जिसका उपयोग मूल्यों को वापस करने के लिए किया जाता है। जब भी किसी सेवा या नियंत्रक को इसकी आवश्यकता होती है, तो कारखाने द्वारा मांग पर एक मूल्य बनाया जाता है। मान बनने के बाद, इसे सभी सेवाओं और नियंत्रकों के लिए पुन: उपयोग किया जाता है।
हम एक सेवा बनाने के लिए कारखाने का उपयोग कर सकते हैं।
सेवा और कारखाने के बीच अंतर
- एक सेवा को निम्नलिखित तरीके से परिभाषित किया जा सकता है:
app.service ('FirstService', फ़ंक्शन () {
this.sayHola = function () {
कंसोल.लॉग ('हैलो')
}
विंडोज़ 10 पर php 7 कैसे स्थापित करें
})
.Service () विधि सेवा को परिभाषित करने वाले नाम और फ़ंक्शन को लेती है। हम इसे निम्नलिखित तरीके से इंजेक्ट कर सकते हैं:
app.controller ('AppController', फ़ंक्शन (FirstService) {
FirstService.sayHello () // लॉग 'हैलो'
})
- दूसरी ओर, एक कारखाने को निम्नलिखित तरीके से परिभाषित किया जा सकता है:
app.factory ('FirstService', फ़ंक्शन () {
वापसी {
sayHola: फ़ंक्शन () {
कंसोल.लॉग ('हैलो')
}
}
})
factory () भी एक विधि है जो एक नाम और फ़ंक्शन लेता है जो कारखाने को परिभाषित करता है। हम इसे उसी तरह से इंजेक्ट कर सकते हैं जैसे किसी सेवा को इंजेक्ट करते समय। एक सेवा और कारखाने के बीच मुख्य अंतर यह है कि हम एक वस्तु शाब्दिक वापसी कारखाने के मामले में (इसके उपयोग के बजाय)। कारण यह है कि सेवा एक निर्माण कार्य है जबकि एक कारखाना नहीं है।
- बेहतर समझ के लिए, कारखाने के कार्य पर एक नज़र डालते हैं ():
चएकता कारखाना (नाम, factFn, लागू करें) {
वापसी प्रदाता (नाम, {
$ मिलता है: लागू? == झूठा enforceReturnValue (नाम, factFn): factFn
})
}
ऊपर दिए गए कोड में, यह नाम और पारित कारखाना फ़ंक्शन लेता है। यह एक प्रदाता को एक ही नाम के साथ, एक के साथ लौटाता है$ मिलता है
विधि (जो कारखाने का कार्य है)। यह इस कारण से है कि जब भी इंजेक्टर को एक विशिष्ट निर्भरता के लिए कहा जाता है, तो इंजेक्टर प्रदाता को कॉल करने के लिए उस सेवा के एक उदाहरण के लिए पूछता है$ मिलता है ()
तरीका।
- FirstService इंजेक्ट करने पर, कारखाने के कार्यों को बुलाया जाता है:
FirstServiceProvider। $ Get () // सेवा का उदाहरण लौटाएं
- सेवा कोड के लिए:
समारोह सेवा (नाम, निर्माता) {
वापसी कारखाना (नाम, ['$ इंजेक्टर', फंक्शन ($ इंजेक्टर) {
$ injector.instantiate (निर्माता) लौटाएं
}])
}
जब हम बुलाते हैंसेवा (), कारखाना ()
वह है जिसे वास्तव में कहा जाता है। यह एक फ़ंक्शन को पास करके किया जाता है जो इंजेक्टर को कंस्ट्रक्टर द्वारा किसी ऑब्जेक्ट को इंस्टेंट करने के लिए कहता है। सरल शब्दों में, सेवा एक पूर्वनिर्धारित कारखाने को बुलाती है।
$ injector.instantiate ()
कॉल करता हैObject.create ()
निर्माता समारोह के साथ। इस कर यह सेवाओं में उपयोग किया जाता है।
जावास्क्रिप्ट में कारखाने का उदाहरण
var FirstModule = angular.module ('FirstModule', [])
FirstModule.factory ('FirstFactory', फ़ंक्शन () {
वापसी 'एक मूल्य'
})
FirstModule.controller ('फ़र्स्टकंट्रोलर', फंक्शन ($ गुंजाइश, फ़र्नीचर) {
कंसोल.लॉग (FirstFactory)
})
कारखाने में मानों को इंजेक्ट करना
निम्नलिखित विधि द्वारा एक मान को कारखाने में इंजेक्ट किया जा सकता है:
var FirstModule = angular.module ('FirstModule', [])
firstModule.value ('नंबरवैल्यू', 29)
FirstModule.controller ('फ़र्स्टकंट्रोलर', फंक्शन ($ गुंजाइश, नंबरवैल्यू) {
कंसोल.लॉग (नंबरवैल्यू)
})
ध्यान दें: यह ध्यान दिया जाना चाहिए कि फैक्टरी फ़ंक्शन द्वारा उत्पादित मूल्य इंजेक्ट किया जाता है, न कि फ़ैक्टरी फ़ंक्शन।
इसके साथ, हम AngularJS लेख में इस कारखाने के अंत में आते हैं। मुझे आशा है कि आपको समझ में आ गया होगा कि वास्तव में एक कारखाना क्या है और यह एक सेवा से कैसे भिन्न होता है।
सीबाहर निकालो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। कोणीय एक जावास्क्रिप्ट ढांचा है जो स्केलेबल, एंटरप्राइज़ और प्रदर्शन क्लाइंट-साइड वेब एप्लिकेशन बनाने के लिए उपयोग किया जाता है। कोणीय फ्रेमवर्क अपनाने के उच्च होने के कारण, एप्लिकेशन का प्रदर्शन प्रबंधन समुदाय द्वारा संचालित अप्रत्यक्ष रूप से बेहतर रोजगार के अवसर प्रदान करता है। एंगुलर सर्टिफिकेशन ट्रेनिंग का उद्देश्य एंटरप्राइज एप्लिकेशन डेवलपमेंट के आसपास इन सभी नई अवधारणाओं को कवर करना है।