2016-09-18 2 views
1

Von der Serverantwort möchte ich das Datum meiner Bereichsvariable zuordnen, deren Typ 'Datum' in eckig ist, da ich dasselbe mache, bin nicht in der Lage, es zuzuordnen wie ich erhalte die folgenden FehlerEingabetyp date ng-model erlaubt keine Datumsangaben

angular.js:12798 Error: [ngModel:datefmt] Expected `2016-09-22T18:30:00.000Z` to be a date 
http://errors.angularjs.org/1.4.12/ngModel/datefmt?p0=2016-09-22T18%3A30%3A00.0 

Hinweis: am Mapping durch $ operatingDetails.date als Ausnahmen Array bereits in der ng-repeat Schleife

Jede Hilfe bitte würde geschätzt ...

Html

<div ng-repeat="operatingDetails in operatingDetails.exceptions" style="margin-top: 8px;"> 
      <div class="DateField"> 
      <input id="date2" type="date" ng-model="operatingDetails.date" style="" ng-change="customOPHchangeExpDateValid(operatingDetails.date, $parent.$parent.$index)"/> 
      </div> 
</div> 

Js (Angular)

$scope.opertingHours.date 

Server Antwort

{ 
       "name" : "Custom Operation Hours1", 
       "exceptions" : [{ 
         "date" : "2016-09-15T18:30:00.000Z", 
         "starttime" : "10:02AM", 
         "endtime" : "10:02PM", 
         "_id" : "57de44c54feb409c2e13ff40", 
         "$$hashKey" : "object:207" 
        } 
       ], 
       "businesshour" : { 
        "sat" : { 
         "starttime" : "8:00AM", 
         "endtime" : "5:00PM" 
        }, 
        "fri" : { 
+0

mögliche Geige? oder ein Plunkar? – Aravind

+0

es tut mir leid, es ist riesiger Code, also könnte ich Geige tun, sorry – User123

+0

verwenden Sie irgendeine ng-Wiederholung ?? wenn ja, update die ng-repeat mit dem post – Aravind

Antwort

1

Ich denke, Sie bekommen diese Fehler, wie "Datum" ("Datum": "2016-09-15T18: 30: 00.000Z") ist eine Zeichenkette. So wandeln Sie sie in Datum von Zeichenkette um.

diese So versuchen,

 
$scope.opertingHours.date = new Date(exceptions[0].date); //Converting string to date 

Hope, wll es für u arbeiten.

+0

Wie glaubst du, wird das funktionieren? Könnten Sie bitte noch einmal meine Frage stellen? – User123

+0

Könnten Sie bitte in diesen Plunker schauen, könnte Ihnen helfen.https: //plnkr.co/edit/NGvrSOjjyaKgKOafyqfI? P = Vorschau –

+0

Vielen Dank dafür, aber, es tut mir leid, es funktioniert nicht bei meinem tatsächlichen Code. – User123

0

Ihre operatingDetails ist verwirrt, wie Sie es in der $ scope und in ng-repeat verwenden Versuchen Sie also, einen anderen wie unten zu verwenden

<div ng-repeat="oD in operatingDetails.exceptions" style="margin-top: 8px;"> 
       <div class="DateField"> 
       <input id="date2" type="date" ng-model="convertDate(oD.date)" style="" ng-change="customOPHchangeExpDateValid(oD.date, $parent.$parent.$index)"/> 
       </div> 
</div> 

auch die folgende Funktion auf Ihren Controller

$scope.convertDate=function(inputDate){ 
return new Date(inputDate); 
} 
+0

es gibt Schleifenfehler unendlich ... – User123

+0

Wohin geht es zur Endlosschleife? – Aravind

Verwandte Themen