Pergunta

<input type="text" ng-model="user.User.DateOfBirth"> é, na minha opinião. user.User.DateOfBirth está atualmente em YYYYMMDD o formato, mas eu quero mostrar como mm/dd/yyyy formato de exibição.É possível converter este apenas para o visor?

Foi útil?

Solução

Para exportar os dados no formato correto tente filtros (no seu caso o filtro de data: http://docs.angularjs.org/api/ng.filter:date)

Bem, para entradas isso é outro caso.Eu acho que você poderia sempre enlace de entrada para outra propriedade, assistir e analisar a si mesmo e, em seguida, atribuí-lo ao seu modelo real...

Alguns mais conhecimento, você pode tentar algo como isto:

HTML:

<input type="text" ng-model="myDateInput">

Em seu JS controlador, use o seguinte:

$scope.$watch('myDateInput', function (newValue) {
    $scope.user.User.DateOfBirth = $filter('date')(newValue, 'yyyy-MM-dd'); // Or whatever format your real model should use
});

$scope.$watch('user.User.DateOfBirth', function (newValue) {
    $scope.myDateInput = $filter('date')(newValue, 'yyyy-MM-dd'); // Or whatever format your input should use
});

Provavelmente seria melhor que forçar o usuário a usar um determinado formato de entrada, seja por algum tipo de correspondência padrão (e, portanto, validação) ou por algum tipo de especial data de entrada/widget.

Outras dicas

Isso também pode ajudá-lo

http://jsfiddle.net/mikeeconroy/Hu9m2/1/

.filter('myFormatDateFilter',function(){
    return function(input){
        if(angular.isDefined(input)){
           if(input.length >= 8){
                input = input.slice(0,8);

                input = input.slice(4,6) + '/' + input.slice(6,8) + '/' + input.slice(0,4);
            }
        }
        return input;
    };
});
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top