लागू करने के निर्देश में मुझे निम्नलिखित निर्देश में $ संकलन इंजेक्शन देने में समस्याएं हैं।
export class Element {
public link(scope:dirScopeInterface, element:any, attrs:ng.IAttributes, formCtrl:ng.IFormController) {
var attr = this.arrayJoiner(scope.standard, scope.attrs || {}, scope.ignore || {});
element.html(this.compiler(attr));
$compile(element.contents())(scope);
}
}
फिलहाल यह एक $ संकलन फेंक रहा है अपरिभाषित त्रुटि है। मैंने
static $inject = ['$compile'];
का उपयोग करने का प्रयास किया है लेकिन यह कुछ कारणों से पारदर्शी लिपि से गायब हो जाता है।
Here पूर्ण कोड का उपयोग किया गया है।
मैं इस निर्देश को कोणीय के साथ कैसे पंजीकृत करूं, क्योंकि कन्स्ट्रक्टर को पैरामीटर की आवश्यकता होती है? इसके अलावा मैंने इसे आपके द्वारा निर्दिष्ट तरीके से कार्यान्वित किया है लेकिन एक $ संकलन प्राप्त करना एक फ़ंक्शन त्रुटि नहीं है। – Rockroxx
कोणीय निर्भरता इंजेक्शन का उपयोग करता है, इसलिए कन्स्ट्रक्टर स्वयं को हल करेगा। निजी $ संकलन चर प्राप्त करने के लिए आपको नियंत्रक को सूचक का उपयोग करना होगा: 'यह। $ संकलन' – devqon
ऐसा लगता है कि: स्थिर $ इंजेक्ट = ['$ संकलन']; कन्स्ट्रक्टर (निजी $ संकलन: ng.ICompileService) {} सार्वजनिक लिंक = (दायरा: dirScopeInterface, तत्व: कोई, attrs: ng.IAttributes, formCtrl: ng.IFormController) => { scope.tempForm = formCtrl; var attr = this.arrayJoiner (scope.standard, scope.attrs || {}, scope.ignore || {}); element.html (this.compiler (attr)); यह। $ संकलन (element.contents()) (दायरा); } कोणीय एक $ संकलन फेंकता त्रुटि समारोह नहीं फेंकता है। – Rockroxx