2016-03-22 10 views
7

Ich habe form mit dynamischen eingefügt input zum DOM (von einem anderen Plugin). Gibt es eine Möglichkeit, den Wert von dieser Eingabe ohne ng-Modell zu lesen?Angular: wie man Eingangswert ohne ng-Modell

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

Ich sehe viele Beispiele, aber die Menschen überall schreibt über ng-model ... :(

+0

Hallo können Sie Setup eine Geige mit Ihrem Plugin/Erweiterung oder nennen Sie es sogar begonnen zu erhalten? –

+0

Nur um Sie hier zu starten, ist eine Lösung, die Dom-Manipulation über einen Controller verwendet: http://stackoverflow.com/a/31741293/3298029, die das ng-Modell dynamisch hinzufügt. –

+1

Sie können versuchen mit 'angular.element': https://docs.angularjs.org/api/ng/function/angular.element –

Antwort

2

Sie eine Richtlinie verwenden können:

JSFiddle

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

Verwenden Sie eine Richtlinie, die Uhren für Änderungen.

Sie können dann als Unterschreibe dies, wenn es nötig ist.

.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

Verwandte Themen