2017-08-24 1 views
1

J'ai quelques questions à propos de AngularJS ng-model et Angular Materia. J'ai deux problèmes. Le premier est que la date indiquée sur l'entrée du sélecteur de date est différente de la valeur du modèle ng. L'autre est que lorsqu'un utilisateur choisit la date sur le calendrier, la valeur ng-model est différente de la date choisie par l'utilisateur. Voici les détails.matériel js date-sélecteur et ng-modèle date chaîne discordance

J'ai donc cette variable de chaîne dans un contrôleur $scope.formData["begin_date"] = "2017-09-25"

Et voici ma balise html

<md-input-container > 
    <label>Start date</label> 
     <md-datepicker required ng-model="formData.begin_date"></md-datepicker> 
     </md-input-container> 

Mais voici ce que mon navigateur me montre. La date que je voulais afficher est 2017-09-25 sur l'entrée, mais 2017-09-24 est affiché à la place. Voici l'image. date displayed on the date picker input

Et je ne comprends pas comment je peux résoudre ce problème pour montrer la date exacte que je voulais montrer.

En outre, je souhaite que les utilisateurs puissent sélectionner une date à l'aide du sélecteur de date et voir la date sélectionnée dans le navigateur. Cependant, lorsqu'un utilisateur choisit la date, le modèle ng lié au sélecteur de date affiche une date différente. Par exemple, un utilisateur sélectionne 2017-09-28 sur le calendrier comme ci-dessous. Mais le ng-modèle angulaire montre la valeur de date différente de la date que l'utilisateur a choisi dans le calendrier comme ci-dessous. Sur les navigateurs Web, il montre "2017-09-29T00:00:00.000Z" et je veux juste afficher 2017-09-28

Comment puis-je résoudre ces deux problèmes?

Merci beaucoup pour votre aide.

Répondre

0

J'ai donc cette variable de chaîne dans un contrôleur $ scope.formData [ "BEGIN_DATE"] = "25/09/2017"

Ecrire begin_date comme Date objet:

$scope.formData = { 
    begin_date: new Date("2017-09-25") 
    }; 

DEMO CODEPEN