angularjs - How can I pass a model into custom directive -


मेरा मुख्य उद्देश्य मेरे MainController से प्रोजेक्टनाम मॉडल को मेरे कस्टम कंटेट्यूटेबल डायरेक्टिव में पास करना है।

मेरे पास है निम्न नियंत्रक:

  app.controller ("मुख्य नियंत्रक", फ़ंक्शन ($ गुंजाइश) {$ scope.projectName = "हॉट एयर बैलून";});   

यहां निर्देश है कि मैं कैसे कह रहा हूं:

  & lt; div class = "column" ng-controller = "MainController" & gt; & lt; h2 संतोषजनक नाम = "myWidget" ng- मॉडल = "projectName" strip-br = "true" & gt; & lt; / h2 & gt; & Lt; p & gt; {{ProjectName}} & lt; / p & gt; & Lt; / div & gt;   

मैंने इस ट्यूटोरियल का पालन करके काम करने योग्य सामग्री प्राप्त कर ली है:

अगर मैं डॉक्स को सही ढंग से समझता हूं तो कांगारु ऐसा मॉडल का उपयोग नहीं कर रहा है जिसे मैं चाहता हूं । इसकी बजाय इसके लिए एक नया मॉडल डब्ल्यू / स्कोप लोकल कंट्रेक्टिव डायरेक्टिव के लिए बनाया जा सकता है। मुझे पता है कि मैं निदेशालय को एक पृथक गुंजाइश जोड़ सकता हूं, लेकिन मुझे पता नहीं है कि लिंक फंक्शन में अलग-अलग गुंजाइश को पारित किए गए मॉडल का उपयोग कैसे करना है।

मैंने ऐसा कुछ करने की कोशिश की है, टी काम ...

  & lt; h2 सामग्रीयुक्त आइटम = "projectName" & gt; & lt; / h2 & gt;   

--- निर्देशक कोड ---

  गुंजाइश: {आइटम: '= आइटम'} लिंक: फ़ंक्शन () {... आइटम $ setViewValue (...) ...}   

--- मेरा मूल निर्देशक कॉल -

  & lt; div class = "column" एनजी -controller = "MainController" & gt; & lt; h2 संतोषजनक नाम = "myWidget" ng- मॉडल = "projectName" strip-br = "true" & gt; & lt; / h2 & gt; & Lt; p & gt; {{ProjectName}} & lt; / p & gt; & Lt; / div & gt;   

--- मेरा मूल नियंत्रक और निर्देश ---

  app.controller ("मुख्य नियंत्रक", फ़ंक्शन ($ गुंजाइश) {$ scope.projectName = "लाइफसेड्स";}); App.directive ('contenteditable', function () {return: 'a', required: 'ngmodel', link: function (scope, element, attrs, ngmodel) {console.log (ngModel); if (! Ngmodel ) वापस; console.log (ngModel $ viewValue); ngModel। $ रेंडर = समारोह () {element.html (ngModel। $ ViewValue || '');}; element.on ('ब्लर कीप परिवर्तन', फ़ंक्शन ( ) {गुंजाइश $ लागू (पढ़ें);}); पढ़ें (); फ़ंक्शन पढ़ें () {var html = element.html (); अगर (attrs.stripBr & amp; html == '& lt; br & gt;') {html = '';} ngmodel। $ setViewValue (html);}}}}});    

आप अपने स्वयं के निर्देश के साथ एनजी-मॉडल का उपयोग कर सकते हैं। यह सुनिश्चित करने के लिए यह शामिल है, आप की आवश्यकता इस तरह से उपयोग कर सकते हैं:

app.directive ("myDirective", फ़ंक्शन () {वापसी {आवश्यक: " NgModel ", लिंक: फ़ंक्शन (स्कोप, एलिमेंट, एट्रि, एनजीएमडेल) {console.log (ngModel);}}});

तब, आप जो भी व्यवहार कर सकते हैं उसे एनजी -आपके निर्देश के भीतर मॉडल।

Comments

Popular posts from this blog

c# - ASP.NET MVC - Attaching an entity of type 'MODELNAME' failed because another entity of the same type already has the same primary key value -

jasper reports - How to center align barcode using jasperreports and barcode4j -

django - CommandError: You must set settings.ALLOWED_HOSTS if DEBUG is False -