Я получаю запрос на страницу, которая возвращает json с датами в формате "dd/MM/yyyy". Я разбираю его, и я показываю его в таблице, такой как ниже
<script>
angular.module("myApp",[])
.controller("mainController", function($scope, $http) {
$http.get('backList.php',{params: {dta: $scope.dataSelected}})
.success(function(data) { if("null" == data)
$scope.list="";
else {
$scope.list=data;
}
} )
.error(function() { alert("Error retrieve data!"); });
}
});
</script>
<body ng-controller="mainController">
<div>
<table>
<tbody>
<tr ng-repeat="row in list">
<td align="center">{{row.dta_example}}</td>
<td align="center"><input class="calendar" type="text" ng-model="row.dta_example" ng-value="row.dta_example" /></td>
</tr>
</tbody>
</table>
</div>
</body>
все работает нормально, но я бы хотел использовать type = "data", чтобы выскочить календарь, но если я использую это, я получаю сообщение об ошибке, которое сообщает мне, что row.dta_example должен быть объектом Date().
поэтому я сделал что-то подобное в методе успеха вызова get:
.success(function(data) { if("null" == data)
$scope.list="";
else {
$scope.list=data;
var i = 0;
for(var key in $scope.list){
$scope.list[i].dta_example=new Date.exactmatch(key.dta_example)
}
}
} )
но не удается.
Используйте momentjs.com в фильтре.
<script>
angular.module("myApp",[])
.controller("mainController", function($scope, $http) {
$http.get('backList.php',{params: {dta: $scope.dataSelected}})
.success(function(data) { if("null" == data)
$scope.list="";
else {
$scope.list=data;
}
})
.error(function() { alert("Error retrieve data!"); });
}
});
angular.module("myApp").filter('momentFilter', function () {
return function (date) {
if (date === null || !angular.isDefined(date))
return null;
if (moment(date).isValid()) {
return moment(date).format('DD. MM. YYYY HH:mm');
}
return date;
}
});
</script>
<body ng-controller="mainController">
<div>
<table>
<tbody>
<tr ng-repeat="row in list">
<td align="center">{{row.dta_example | momentFilter }}</td>
<td align="center"><input class="calendar" type="text" ng-model="row.dta_example" ng-value="row.dta_example" /></td>
</tr>
</tbody>
</table>
</div>
</body>
Пытаться:
$scope.list[i].dta_example = new Date(key.dta_example);
Кроме того, 'null' не = null. Этот тест не будет работать, если ваш код каким-либо образом не вернет строку "null".