2016-03-22 24 views
7

के बिना इनपुट मूल्य कैसे प्राप्त करें मेरे पास form है जो गतिशील डाले गए input को डोम (कुछ अन्य प्लगइन से) में डाला गया है। क्या इस इनपुट से एनजी-मॉडल के बिना मूल्य पढ़ने का कोई तरीका है?कोणीय: एनजी-मॉडल

<form name="myForm" data-my-directive> 
    <div class="customPlugin"> 
     <!-- here input without ng-modeal appears: --> 
     [ <input type="text" name="foo" value="bar" /> ] 
    </div> 
</form> 

मैं कई उदाहरणों को देखते हैं, लेकिन हर जगह लोग ng-model के बारे में ... लिखते :(

+0

हाय आप सेटअप अपने प्लगइन/एक्सटेंशन के साथ या यहां तक ​​कि इसे नाम एक बेला आरंभ करने के लिए कर सकते हैं? –

+0

बस आपको स्टार्टेट प्राप्त करने के लिए एक नियंत्रक के माध्यम से डोम मैनिपुलेशन का उपयोग करने का एक समाधान है: http://stackoverflow.com/a/31741293/3298029 जो गतिशील रूप से एनजी-मॉडल जोड़ता है। –

+1

आप 'angular.element' के साथ प्रयास कर सकते हैं: https://docs.angularjs.org/api/ng/function/angular.element –

उत्तर

2

आप एक निर्देश का उपयोग कर सकते हैं: एक निर्देश

JSFiddle

.directive('myDirective', function() { 
    return { 
     link: function(scope, element, attrs) { 
      console.log(element.find('input').attr('value')); 
     } 
    }; 
}); 
3

उपयोग कि परिवर्तनों के लिए घड़ियों।

आप तब के रूप में कर सकते हैं यदि आवश्यक समझा जाता है, तो इसे अपने दायरे पर हस्ताक्षर करें।

.directive('watchForChanges', function() { 
     return { 
      link: function(scope, element, attrs) { 
       element.on('change', function (e) { 
        console.log(e.target.value); 
        // scope.myValue = e.target.value; 
       }) 
      } 
     } 
}); 

PLNKR: http://plnkr.co/edit/qrj8ZbUya5wE0EylFcGG?p=preview