从服务中获取时,不会更新angular2 fullcalender事件。 HTTP
我在npm install ap-angular2-fullcalendar –save的帮助下使用Angular4中的fullcalendar 。 在组件中硬编码的事件会立即显示在日历中。 但是当我从服务方法即HTTP调用中获取时。 收到事件后,我正在更新日历事件,如
template: {{options | json}}>
{{options | json}}>
getCalendarOptions() { let calendarOptions = { header: { left: '', center: 'title', right: 'month,agendaWeek,agendaDay,today,listYear prev,next ' }, dayClick: (date, jsEvent, view) => { }, slotDuration: '00:20:00', color: '#456778', height: 650, defaultView: 'agendaDay', slotLabelFormat: 'h(:mm)a', businessHours: { start: '11:00', end: '12:00', dow: [1, 2, 3, 4, 5] }, minTime: "09:00:00", maxTime: "20:00:00", fixedWeekCount: false, defaultDate: new Date(), editable: true, eventLimit: true, selectable: true, nowIndicator :true, selectHelper: true, viewRender:( view, element )=>{ console.log("ViewRender: "+view.start +" ele:" +view.end) }, select: (start, end, allDay) => { }, views: { agenda: { eventLimit: 2 } }, eventClick: (calEvent, jsEvent, view) => { }, hiddenDays: [], events: (start, end, timezone, callback)=>{ //**This place Service is being called to fetch events from server.** this.appointmentService.getMonthEvents(start,end,'view').subscribe( res=>{ this.events=res // this.myCalendar.fullCalendar('refetchEventSources', this.events); this.myCalendar.fullCalendar('renderEvents', this.events, 'stick') console.log("Cal")} ) } }; return (calendarOptions); }
但事件未在完整日历中更新。 它们在单击其他日历视图后出现。 如何在事件可用后立即更新事件。
使用callback
函数应该适合您:
view.html
component.ts
export class App { @ViewChild(CalendarComponent) myCalendar: CalendarComponent; calendarOptions: any; constructor(private appointmentService: CalendarService) {} ngOnInit() { this.calendarOptions = { height: '1000', fixedWeekCount : false, header: { left: '', center: 'title', right: 'month,agendaWeek,agendaDay,today,listYear prev,next ' }, defaultDate: '2016-09-12', editable: true, eventLimit: true, events: (start, end, timezone, callback)=> { this.appointmentService.getMonthEvents() .subscribe(res => callback(res)); // just call callback } }; } }
Plunker示例
- 如何在Angular2 Typescript项目中全局导入Javascript库?
- Angular2:从javascript函数调用组件方法
- 如何在Angular 2中使用jQuery UI
- Angular 2的JQuery .param()方法?
- 打字稿和jquery ajax
- 如何在angular cli 1.0.0-rc.0中正确包含jQuery?
- Jquery无法工作在角度6错误:ENOENT:没有这样的文件或目录,打开’… \ node_modules \ jquery \ dist \ jquery.min.js’
- Angular:在script.bundle.js中为jquery导入意外的令牌
- Bootstrap无法在Angular 6应用程序中运行