Vielleicht ist es ein Anfängerfehler, aber ich kann nicht auf die $scope.model
s $ngModelController
zugreifen, so dass ich die $viewValue
daraus entnehmen kann.
Ich habe eine Eingabe ohne ein Formular (ich benutze die ui-mask Anweisung):
%Vor% %Vor% ui-mask setzt den $ modelValue auf einen anderen Wert als $ viewValue, wodurch es schwierig wird, formatierte Daten an den Server zu senden. Wenn sich das $scope.inicio
-Modell ändert, ist der Wert ein Datum ohne Schrägstriche wie 01012014
. Also muss ich in der Lage sein, den Controller für diesen Input zu bekommen, aber ohne ihn in ein Formular zu packen, und muss $scope.myForm.inicio.$viewValue
verwenden. Es muss möglich sein ...
Dinge, die ich weiß, kann ich tun, aber scheint hacky, es muss einen einfacheren Weg geben:
$scope.myForm.input.$viewValue
zu.
$('input[name="inicio"]').data('$ngModelController');
angular.element('input[name="inicio"]').controller('ngModel');
Ich mag die Richtlinienalternative. Im Wesentlichen tut die ui-mask
-Direktive nicht, was Sie wollen, also können Sie auch Ihre eigene Direktive schreiben.
Sie sollten inicio
nicht an Ihre view-value
-Direktive übergeben müssen. Fügen Sie stattdessen Ihren eigenen Parser zu ngModelCtrl.$parsers
hinzu. Hier ist ein Beispiel: Ссылка
Tags und Links angularjs angularjs-scope angularjs-controller