如何从json url(/ comments)在fullcalendar上渲染时间?它显示了“对象对象”,其中应该显示时间。从json url中抽出时间的正确方法是什么?
来自网址的json示例
{"Title": "qwerty", "Description": "asdf", "IsFullDay": null, "EndAt": "2016-09-21T09:10:15.549000", "StartAt": "2016-09-21T09:10:15.549000"}
fullcalendar
来自“fullcalendar.min”的错误
controller.js
function populate() {
clearCalendar();
$http.get('/comments', {
cache: true,
params: {},
}).then(function (data) {
$scope.projects.slice(0, $scope.projects.length);
angular.forEach(data.data, function (value) {
$scope.projects.push({
// id : value.ProjectID,
title: value.Title,
description: value.Description,
start: new Date(value.StartAt),
end: new Date(value.EndAt),
allDay: value.IsFullDay,
stick: true
});
});
});
}
//configure calendar
$scope.uiConfig = {
calendar: {
eventSources:{
url: '/comments',
},
height: 500,
editable: true,
displayEventTime: true,
header: {
left: 'month, agendaWeek, agendaDay',
center: 'title',
right: 'today prev,next'
},
timeFormat : {
month: ' ', //for hide on month view
agenda: 'h:mm: t'
},
selectable: true,
selectHelper: true,
select: function(start, end){
var fromDate = moment(start).format('DD/MM/YYYY LT');
var endDate = moment(end).format('DD/MM/YYYY LT');
$scope.NewProject = {
ProjectID : 0,
StartAt : fromDate,
EndAt : endDate,
IsFullDay : false,
Title : '',
Description: ''
}
$scope.ShowModal()
},
答案 0 :(得分:0)
在你的populate函数中,你的开始和结束日期是使用Javascript Date对象进行的,它不能用于fullCalendar,它需要一个时间日期对象。更改以下
start: new Date(value.StartAt),
end: new Date(value.EndAt),
到这个
start: moment(value.StartAt),
end: moment(value.EndAt),
答案 1 :(得分:0)
在这种情况下的解决方案只是(非客体化)改变
timeFormat : {
month: ' ', //for hide on month view
agenda: 'h:mm: t'
},
到
timeFormat : 'h:mm: t'
或您想要的任何格式或只是完全删除timeFormat
(将自动解析为默认值)