Biorąc usługę WebApi2 która zwraca wartości json tak:wiążąca data w angularjs wykorzystujących WebAPI oraz datę bootstrap kompletacji
{
id: 1109,
effectiveDate: "2014-10-05T00:00:00", // the date is a string (newtonsoft.json)
text: "Duis et rhoncus nibh. Cras rhoncus cursus diam",
fundSource: "Test"
}
muszę datę pojawiać się w związanej kątowej/bootstrap/date picker poprawnie .
Muszę przekształcić datę na format yyyy-mm-dd (bez czasu), kiedy wiążę ją z polem wprowadzania danych. Tylko wskaźnik do niektórych dokumentów wyjaśniających, jaki jest poprawny sposób serializowania dat z API na kątowy. Jestem pewien, że effectiveDate
powinien być obiektem Date
, a nie string
.
<input class="form-control"
type="text"
name="effectiveDate"
ng-model="consultation.effectiveDate"
data-date-picker="yyyy-mm-dd"
placeholder="Date" />
Dla kompletności, usługa zwrotu wartości json wygląda następująco:
app.factory('Service', ['$http', '$location', '$interpolate', function ($http, $location, $interpolate) {
return {
get: function (account) {
var url = 'api/consultations/{account}';
return $http
.get(Api.format(url, { account: account }))
.then(function (response) { return response.data; });
}
};
}]);
Metoda kontroler nazywa to tak:
service.get($scope.urlData.account).then(function(consultations) {
$scope.consultations = consultations;
});
Konwertuj datę w formacie ciągu na obiekt Date JavaScript. Reszta powinna działać dobrze. Możesz używać normalnego JavaScript do obsługi Date-Time w JavaScript, ale lepiej użyć biblioteki obsługującej kompatybilność z przeglądarkami. Możesz spróbować pliku moment.js.Twoja zmienna scope effectiveDate powinna zawierać obiekt Date. –