AngularJS Richtlinie Numerischen Format Maskierung
In der Richtlinie die ich erstellt habe, verwendet die Funktion setFormatting Maske wird der text-Wert in ein input-Feld.
scope.$watch(element, function() {
modelCtrl.$setViewValue(setFormatting(element.val(), attrs.symbol));
modelCtrl.$render();
});
element.bind('blur', function() {
modelCtrl.$setViewValue(setFormatting(element.val(), attrs.symbol));
modelCtrl.$render();
});
Dem scope.$beobachten gilt die Maske, wenn der Inhalt geladen ist, angewendet wird, das erste mal, das element.binden, gilt die Maske für die anderen Zeiten. Die scope.$Uhr ist die Speicherung das symbol (wenn es eine ist) als Teil der ng-Modell-Variablen. Das element.binden ist nicht. Ich dachte, $setViewValue() und $render() nicht aktualisiert das ng-Modell-Variablen. Wo ist die variable aktualisiert?
Siehe beigefügte fiddle: http://jsfiddle.net/PJ3M4/
Dank.
in einfachen Worten tun, die Sie hinzufügen möchten Kommas und
Ja, nur in das Eingabefeld ein. Aber diese Richtlinie wird verwendet für verschiedene Symbole, nicht nur das ° - symbol.
°
während der Eingabe ins input-Feld?Ja, nur in das Eingabefeld ein. Aber diese Richtlinie wird verwendet für verschiedene Symbole, nicht nur das ° - symbol.
InformationsquelleAutor C1pher | 2013-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier haben wir
$formatters.unshift
und$filter
:JS
HTML
Demo Fiddle
Als eine Randnotiz
Finden Sie diese auch hilfreich: Fiddle
Danke @Maxim. Genau das, was ich will. In Fall erhalten Sie einige Zeit können Sie bitte helfen Sie mit einer Erläuterung des Codes wird es Ihnen helfen newbie wie mich :). Nochmals vielen Dank.
Hi maxim, ich mag deine Antwort aber ich habe eine Sorge. Wenn ich versuche, Bearbeiten Sie die Eingangs-Nummer, der cursor geht zurück auf die Letzte Zahl.
InformationsquelleAutor Maxim Shoustin
Den
$watch
ausgeführt wird, in einem 'digest' - Schleife. Dieelement.bind
callback wird aufgerufen, von außen gewinkelt, so dass Sie müssen hinzufügen, ein expliziter Aufrufscope.$apply()
:Aktualisiert fiddle
Finden Sie in der Dokumentation für Informationen über AngularJS - event-Schleife.
Dann sollten Sie eine filter, um die Anzeige de Wert. Die
$watch
Funktion ist nach dem digest-Schleife, während Ihr element.bind-Aufruf bricht der Daten-Bindung.Siehe @MaximShoustin Antwort für ein filter-Beispiel.
InformationsquelleAutor rvignacio
Können Sie auch einfach
Zumindest bieten die 3rd-party-Richtlinie-website.
InformationsquelleAutor
War ich in der Lage zu Holen Sie sich die ng-model zum speichern der Werte, wie ich wollte, um durch das hinzufügen einer modelCtrl.$Parser.schieben() { ... } zu meine scope.$watch() { ... }.
InformationsquelleAutor C1pher