Angular uiCalendar 不重新安排事件
Angular uiCalendar not redenring events
我正在尝试从 angular ui 日历中创建 uild 一周计划程序,但我不断收到错误消息:'Cannot read property "format" of null' 和 none我的事件列表正在显示。所有依赖项都已导入,我在 index.html 上声明 ui 日历,如下所示:
<body ng-controller="MainCtrl">
<div class="row" on-load="renderCalendar('myCalendar');">
<div class="col-md-4">
<h1>All Events</h1>
<ul>
<li class="event" ng-repeat="event in eventSource">
{{event.title}}
<button type="button" class="btn btn-danger" ng-click="removeEvent($index)"> delete</button>
</li>
</ul>
</div>
<div class="col-md-8">
<div ui-calendar="uiConfig.calendar" ng-model="eventSource" calendar="myCalendar"></div>
</div>
</div>
我的 angular 模块声明:
var app = angular.module('calendar-app',
['ngResource',
'ui.calendar']
);
日历显示在页面上,但 none 我的硬编码事件(事件在我的控制器中声明)。我在这里有这个调度程序的 plunker:https://plnkr.co/edit/Plscx3IiZb5h9cE7Wdv6?p=preview
我搜索了很多相关问题,但找不到解决此问题的方法。我怎样才能正确呈现这些事件?
Cannot read property "format" of null
是与开始或结束时间相关的错误 - Fullcalendar 正在尝试格式化您的日期但失败了。那是因为您的 Plunker 中显示的事件将开始和结束日期指定为 Javascript Date
对象:
{title: 'All Day Event',start: new Date(y, m, 6),allDay:true},
这不是 Fullcalendar 要求的格式 - as the docs describe,您需要使用:
A Moment-ish input, like an ISO8601 string.
ISO8601 字符串看起来像 2017-10-18
。如果您想坚持使用 Javascript 的 Date
,一个快速解决方法是使用 toISOString()
:
{title: 'All Day Event', start: new Date(y, m, 6).toISOString(), allDay:true},
您也可以切换到使用 Moment,这是 Fullcalendar 所必需的,因此已经可用:
{title: 'All Day Event', start: moment().date(6), allDay:true},
我正在尝试从 angular ui 日历中创建 uild 一周计划程序,但我不断收到错误消息:'Cannot read property "format" of null' 和 none我的事件列表正在显示。所有依赖项都已导入,我在 index.html 上声明 ui 日历,如下所示:
<body ng-controller="MainCtrl">
<div class="row" on-load="renderCalendar('myCalendar');">
<div class="col-md-4">
<h1>All Events</h1>
<ul>
<li class="event" ng-repeat="event in eventSource">
{{event.title}}
<button type="button" class="btn btn-danger" ng-click="removeEvent($index)"> delete</button>
</li>
</ul>
</div>
<div class="col-md-8">
<div ui-calendar="uiConfig.calendar" ng-model="eventSource" calendar="myCalendar"></div>
</div>
</div>
我的 angular 模块声明:
var app = angular.module('calendar-app',
['ngResource',
'ui.calendar']
);
日历显示在页面上,但 none 我的硬编码事件(事件在我的控制器中声明)。我在这里有这个调度程序的 plunker:https://plnkr.co/edit/Plscx3IiZb5h9cE7Wdv6?p=preview
我搜索了很多相关问题,但找不到解决此问题的方法。我怎样才能正确呈现这些事件?
Cannot read property "format" of null
是与开始或结束时间相关的错误 - Fullcalendar 正在尝试格式化您的日期但失败了。那是因为您的 Plunker 中显示的事件将开始和结束日期指定为 Javascript Date
对象:
{title: 'All Day Event',start: new Date(y, m, 6),allDay:true},
这不是 Fullcalendar 要求的格式 - as the docs describe,您需要使用:
A Moment-ish input, like an ISO8601 string.
ISO8601 字符串看起来像 2017-10-18
。如果您想坚持使用 Javascript 的 Date
,一个快速解决方法是使用 toISOString()
:
{title: 'All Day Event', start: new Date(y, m, 6).toISOString(), allDay:true},
您也可以切换到使用 Moment,这是 Fullcalendar 所必需的,因此已经可用:
{title: 'All Day Event', start: moment().date(6), allDay:true},