Ich versuche, einen Filter zu erstellen, der Zeit in Sekunden umwandelt, zum Beispiel: 01:30:10
zu 5410
und umgekehrt, also habe ich am Ende nur Sekunden in meinem Modell, und der Benutzer wird dazu eine bessere Darstellung sehen.Benutzereingaben korrigieren in angularJS
Bisher konnte ich ein funktionierendes Beispiel mit einer Richtlinie erstellen, aber jetzt will ich versuchen, Tippfehler zu korrigieren, und zwar diese Art von Fehlern: Benutzertypen 1:62:30
sollte 2:02:30
korrigiert werden, das gleiche mit Sekunden.
Das Problem ist, dass es scheint, als ob es die Ansicht nicht aktualisiert, , aber das Modell wird aktualisiert.
Dies ist eine vereinfachte Version des Codes:
app.directive('timeFormatter', ['$filter', function($filter) {
return {
restrict: "A",
require: 'ngModel',
link: function(scope, element, attrs, ngModelController) {
ngModelController.$parsers.push(function(formattedTime) {
// here i return a Number usgin math and RegEx
});
ngModelController.$formatters.push(function(fullSeconds) {
// here i return a String formatted like this:
// return `${hours}:${minutes}:${seconds}`;
});
}
};
}]);
hier ist der html:
<input class="small" type="text" time-formatter ng-model="answer.end">
Und hier gibt es eine Arbeits Geige: https://jsfiddle.net/shock/2ju3hfqu/2/
zeigen Sie Ihre Ansicht umwandeln kann. –
wenn ich sagte, ich meinte "html", ich aktualisierte es –