के साथ एंगुलरजेएस सेवा में निर्भरता इंजेक्शन के लिए सर्वश्रेष्ठ अभ्यास मुझे टाइपस्क्रिप्ट में एंगुलरजेएस सेवाओं के लिए निर्भरता इंजेक्शन कुछ हद तक बोझिल लगता है। वर्तमान में, मैं अपने सेवा वर्ग के भीतर एक कारखाने विधि को परिभाषित है, और सभी निर्भरता इंजेक्शन तर्क दोहराना तीन बार:टाइपस्क्रिप्ट
class MyService {
public static Factory($rootScope, myController) { // 1st time
return new MyService($rootScope, myController); // 2nd time
}
constructor(public $rootScope, public myController) {} // 3rd time
}
myModule.factory('myService', MyService.Factory);
मैं निम्नलिखित करना चाहते हैं, लेकिन वह काम करने के लिए प्रतीत नहीं होता:
class MyService {
constructor(public $rootScope, public myController) {} // only once
}
myModule.factory('myService', MyService);
यह दृष्टिकोण नियंत्रकों के लिए ठीक काम करता है, लेकिन सेवाओं के लिए नहीं। क्या कोई बेहतर तरीका है?
अग्रिम धन्यवाद!
भी ध्यान दें कि 'myModule.service ('myService', MyService); ' * कक्षा घोषणा के बाद * जाना चाहिए। इसे पहले रखने से कोड संकलन हो जाएगा लेकिन रनटाइम में त्रुटियां उत्पन्न हो सकती हैं (कुछ अपरिभाषित प्रोटोटाइप तक पहुंचने जैसी)। –