AngularJS - Änderung des Attribut-Direktiven-Eingabewerts
Habe ich eine AngularJS-Attribut-Richtlinie, und ich möchte, um eine Aktion jederzeit übergeordneten input-Wert-änderungen. Jetzt mache ich es mit jQuery:
angular.module("myDirective", [])
.directive("myDirective", function()
{
return {
restrict: "A",
scope:
{
myDirective: "=myDirective"
},
link: function(scope, element, attrs)
{
element.keypress(function()
{
//do stuff
});
}
};
});
Gibt es eine Möglichkeit, dies zu tun, ohne jQuery? Ich finde das keyPress-Ereignis nicht zu tun genau das, was ich will, und während ich bin sicher, ich werde kommen mit einer Lösung, bekomme ich ein wenig nervös, wenn ich das resort auf die Verwendung von jQuery in eine Eckige Projekt.
Also, was ist die Winkelgeschwindigkeit Weg, dies zu tun?
InformationsquelleAutor der Frage Mike Pateras | 2013-04-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es ein tolles Beispiel in der AngularJS docs.
Es ist sehr gut kommentiert und sollte Euch schon in die richtige Richtung.
Einem einfachen Beispiel, vielleicht um so mehr, was Sie suchen, sind unten:
jsfiddle
HTML
JavaScript
Edit: Gleiche Sache, erfordert nicht
ngModel
jsfiddle:JavaScript
InformationsquelleAutor der Antwort Langdon
Da diese muss haben ein input-element, wie ein Elternteil, Sie konnte einfach
Alternativ können Sie die
ngModelController
und fügen Sie eine Funktion hinzu, um$formatters
führt Funktionen Eingabe ändern. Sehen http://docs.angularjs.org/api/ng.directive:ngModel.NgModelControllerInformationsquelleAutor der Antwort Jmr
Aufpassen, der Laufzeit änderungen im Wert einer benutzerdefinierten Richtlinie, verwenden Sie
$observe
Methode derattrs
Objekt, anstatt$watch
innerhalb einer benutzerdefinierten Richtlinie.Hier ist die Dokumentation für das gleiche ... $beobachten docs
InformationsquelleAutor der Antwort Shivam