我正在尝试使用PrimeNG的Schedule组件来显示用户的日历事件。日历显示,但当Fullcalendar尝试呈现事件时,它返回错误:
"ORIGINAL EXCEPTION: TypeError: Cannot read property 'scrollTop' of null"
事件应该是正确的格式,因为这个项目只是从angular1版本重构已经使用Fullcalendar。下面我已经包含了html,配置选项以及试图显示的事件的模拟。
template.html
<p-schedule id="calendar" class="calendar" [events]="calendar.sources"
[calendar]="myCalendar1" [height]="calendar.config.height"
[header]="calendar.config.header" [editable]="calendar.config.editable"
[weekends]="calendar.config.weekends" [eventLimit]="calendar.config.eventLimit"
(onDayClick)="calendar.config.dayClick" (onEventClick)="calendar.config.eventClick"
(onEventDrop)="calendar.config.eventDrop">
</p-schedule>
this.calendar.config = {
height: 900,
editable: true,
weekends: true,
eventLimit: true,
header: {
left: 'agendaDay,agendaWeek,month',
center: 'title',
right: 'today prev,next'
},
dayClick: this.dayClick,
eventClick: this.eventClick,
eventDrop: this.stopDrag
}
事实证明,无论我包含哪些选项,fullcalendar总会给出相同的错误。我甚至尝试加载没有选项的计划模板,但仍然有相同的错误。这似乎表明我包含Schedule和fullcalendar的方式不正确。我通过npm install --save包含了primeng和moment,然后我通过html cdns包含了fullcalendar。我按照here显示的实施更改进行了操作 获取计划并运行。然后我将Schedule作为提供者和指令添加到我当前的组件中。 Schedule也包含在我的类构造函数中,以便我可以从我的组件的方法中引用它。
答案 0 :(得分:2)
事实证明,JQuery 3.0.0的更新与Fullcalendar不兼容。通过将JQuery回滚到2.2.4,一切正常。
答案 1 :(得分:0)
我遇到了与fullcalendar相同的问题,Isahiro的答案就是解决方案。我只是想补充一下,因为与bower的依赖冲突将jquery升级到3.x。您可以通过将以下内容添加到bower.json来强制bower使用2.x版本。
"resolutions": {
"jquery": "~2.1.4"
}