मेरे पास नियंत्रक वर्ग ModalCtrl
है और मैं एक बाल वर्ग ModalCtrlChild extends ModalCtrl
बनाना चाहता हूं। समस्या यह है कि जब मैं ऐसा करने की कोशिश करता हूं तो मुझे ModalCtrl
में इंजेक्शन वाले किसी भी मॉड्यूल में अज्ञात प्रदाता त्रुटि मिलती है।विस्तारित नियंत्रक (ES6) में मॉड्यूल इंजेक्शन अज्ञात प्रदाता त्रुटि
मैंने प्रोजेक्ट बनाने के लिए this जनरेटर का उपयोग किया और यह निर्भरताओं को इंजेक्ट करने के लिए दृश्यों के पीछे NgInject का उपयोग करता है, मुझे संदेह है कि वहां कुछ मजाकिया हो रहा है।
ModalCtrl:
export default class ModalCtrl {
static get UID(){
return "ModalCtrl"
}
... // all my ModalCtrl methods here
/* @ngInject */
constructor(ngDialog, PreoModalType, OutletService, $q, $timeout, VenueService) {
"ngInject";
... // ModalCtrl constructor logic initing variables
}
}
ModalCtrlChild:
import ModalCtrl from '../../preoModal.controller';
export default class ModalCtrlChild extends ModalCtrl{
static get UID(){
return "modalCtrlChild"
}
/* @ngInject */
constructor() {
// "ngInject";
console.log("in super constructor");
super();
}
}
त्रुटि:
Error: [$injector:modulerr] Failed to instantiate module function ModalCtrlChild() due to:
Error: [$injector:unpr] Unknown provider: ngDialog
http://errors.angularjs.org/1.5.3/$injector/unpr?p0=ngDialog
और ngDialog है निश्चित रूप से आयातित और काम कर रहे। यदि ModalCtrlChild से extends ModalCtrl
हटाएं तो मुझे कोई त्रुटि नहीं मिलती है और मेरा कोड ठीक चलाता है लेकिन मुझे विरासत की आवश्यकता नहीं है। किसी भी विचार की सराहना की।
संपादित
मैं सवाल है, कि या तो काम नहीं करता है, के रूप में समस्या, बच्चे वर्ग injects में हो रहा है माता पिता के वर्ग injects में नहीं पोस्टिंग से पहले eenagy के जवाब की कोशिश की थी।
sourdoughdetzel, आपके सुझाव की कोशिश की: ModalCtrlChild से
- निकाला गया एनोटेशन और निर्भरता
- निकाला गया एनोटेशन और ModalCtrl से लेकिन निर्भरता उन्हें बच्चे में छोड़ दिया
ठीक उसी त्रुटि मिली:
Error: [$injector:modulerr] Failed to instantiate module function PreoModalController_Form() due to:
Error: [$injector:unpr] Unknown provider: ngDialog
मुझे संदेह है कि इसे करना है जिस तरह से बेबेल विस्तारित वर्ग का निर्माण कर रहा है और एनजी इंजेक्ट को इसके काम करने की अनुमति नहीं दे रहा है। मैं यहां मैन्युअल इंजेक्शन करने का एक तरीका तैयार करने की कोशिश कर रहा हूं, जो समस्या को हल करना चाहिए और साबित करना चाहिए कि यह मुद्दा है क्योंकि मुझे यह पता नहीं है कि इस बात को ठीक करने के लिए बेबेल के काम के बारे में पर्याप्त जानकारी नहीं है।
_ "ngDialog निश्चित रूप से आयात और काम कर रहा है" _ इससे कोई फर्क नहीं पड़ता। सवाल यह है कि क्या यह नियंत्रक के मॉड्यूल में सेवा के रूप में उपलब्ध है। इसके अलावा यदि 'ModalCtrl' के निर्माता को 'ModalCtrlChild' के निर्माता में' सुपर 'कहते हैं तो आपको उन तर्कों को पारित करने की तुलना में तर्कों की अपेक्षा करता है। त्रुटि संदेश अजीब btw लग रहा है। ऐसा लगता है कि आप अपने नियंत्रक को मॉड्यूल के रूप में चालू करने का प्रयास करते हैं। यह कोड कैसा दिखता है? – zeroflagL
@ caiocpricci2 क्या आपने इसे हल किया? – eenagy
मैंने इसे थोड़ा और अधिक खेला है, और यह मेरे लिए सही ढंग से काम करता है जब ng-dialog इंजेक्शन ... – eenagy