Co trzeba zrobić, to spojrzeć na http://docs.angularjs.org/api/ng.filter:date który jest filtrem, który jest dostępny w kanciasty domyślnie.
Wygląda na to, że przekazujesz dodatkowe rzeczy z datą. Zobacz scenariusz tutaj. (/ Data (*) /). Z wyjątkiem rzeczy w * wszystko inne nie jest konieczne, aby przeanalizować datę, a domyślny filtr kątowy nie będzie w stanie go przetworzyć. Albo usuń te dodatkowe elementy z modelu, albo alternatywnie, możesz napisać własny filtr, aby usunąć je z wejścia.
EDIT:
Wystarczy popatrzeć na http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController (i przykład, który jest zdefiniowany tam!). Jeśli zamierzasz użyć tego w wielu miejscach, sugeruję, abyś zrobił to w metodzie opisanej przez ngModelController. Utwórz nową dyrektywę i implementuj $ render i $ setViewValue na ngModel.
Jeśli chcesz to zrobić w jednym miejscu, alternatywnym rozwiązaniem byłoby zdefiniowanie nowego modelu dla danych wejściowych. Coś jak
$scope.dateModel = "";
i używać go
<input type="text" ng-model="dateModel" ng-change="onDateChange()"/>
W kontrolerze, trzeba będzie zrobić coś takiego:
$scope.$watch("datasource.myDateProp",function(newValue){
if(newValue){
convert(newValue);
}
});
function convert(val){
//convert the value and assign it to $scope.dateModel;
}
$scope.onDateChange = function(){
// convert dateModel back to the original format and store in datasource.myDateProp.
}
ng model = "datasource.myDateProp" definiuje dwukierunkową wiążącego , nie chcę stracić wiązania. po tym przykładzie o to stracić! –
Czy istnieje sposób zdefiniowania formatu na modelu ng? –
@FlavioOliveira Spójrz na zmienioną odpowiedź. – ganaraj