Also muss ich eine Eingabe für die Währung vornehmen, die den Wert als ganze Zahl in Cent speichert. Ich habe eine Direktive, die fast funktioniert, aber nicht ganz. Die folgende Anweisung konvertiert die Daten erfolgreich vom Modell in die Ansicht und nachdem sie geändert wurde, entfernt sie erfolgreich alles, was nicht in dem Modell enthalten ist. Das Problem besteht darin, dass die Ansicht nicht erneut aktualisiert wird, wenn sich das Modell ändert. Also, wenn die Eingabe $ 10.00 zeigt und ich $ 10.00a eintippe, zeigt das Modell korrekt 1000 an, aber das a bleibt im Eingabefeld.Winkeldirektive zur Anzeige von Cents als Dollar in einem Eingang
return {
require: 'ngModel',
link: function (elem, $scope, attrs, ngModel) {
ngModel.$formatters.push(function (val) {
return '$' + (val/100).toFixed(2);
});
ngModel.$parsers.push(function (val) {
var replaced = val.replace(/[^\d\.]/g, '');
var split = replaced.split('.');
var merged = split[0] + split[1].slice(0, 2)
return Number(merged);
});
}
}
Vielen Dank. Deine Geige ist etwas daneben, weil sie zusätzliche Zahlen und Punkte nach ".xx" im Display hält, aber die Frage, die ich gestellt habe, wurde beantwortet. Nur benötigt, um displayedValue zu ändern. :) – TiggerToo