Jquery 从服务获取时,angular2 FullCalendar事件不会更新。Http

Jquery 从服务获取时,angular2 FullCalendar事件不会更新。Http,jquery,angular,fullcalendar,Jquery,Angular,Fullcalendar,我正在Angular4中使用fullcalendar,并借助npm安装ap-angular2-fullcalendar--save。组件中硬编码的事件会立即显示在日历中。但当我从服务方法(即HTTP调用)获取时。收到事件后,我会更新日历事件,如 模板:{{options}}> 但活动并没有在整个日历中得到更新。它们在单击其他日历视图后显示。 如何在事件可用后立即更新事件。使用回调函数应该适合您: view.html <angular2-fullcalendar [options]="cal

我正在Angular4中使用fullcalendar,并借助npm安装ap-angular2-fullcalendar--save。组件中硬编码的事件会立即显示在日历中。但当我从服务方法(即HTTP调用)获取时。收到事件后,我会更新日历事件,如

模板:
{{options}}>

但活动并没有在整个日历中得到更新。它们在单击其他日历视图后显示。
如何在事件可用后立即更新事件。

使用
回调
函数应该适合您:

view.html

<angular2-fullcalendar [options]="calendarOptions" ></angular2-fullcalendar>

使用
回调
函数应该适合您:

view.html

<angular2-fullcalendar [options]="calendarOptions" ></angular2-fullcalendar>

您可能需要在模板中使用elvis运算符,因为它是一个http调用,可能需要一段时间才能像calendar一样接收。事件我的模板是:{options | json}}>getCalendarOptions()返回CalendarOptions()您可以在问题中更新它而不是在注释中更新它吗不使用
getCalendarOptions()
在模板中。创建一次。您总是返回新对象。这种方法在每次变化检测时都会执行。创建属性
options
并在
ngOnInit
中初始化它,但我想从服务器加载事件,而不是硬编码事件。是的,我想检测每个勾号并根据日期加载事件。您可能需要在模板中使用elvis运算符,因为它是一个http调用,可能需要一段时间才能像calendar?一样接收。eventsmy模板是:{{options | json}}>getCalendarOptions()返回日历选项能否在问题中更新它而不是在注释中不要在模板中使用
getCalendarOptions()
。创建一次。您总是返回新对象。这种方法在每次变化检测时都会执行。创建属性
options
并在
ngOnInit
中初始化它,但我想从服务器加载事件,而不是硬编码事件。是的,我想检测每个勾号并根据日期加载事件。谢谢,我忘了使用回调。当我设置这种方式时,日历呈现但日期没有。谢谢,我忘了使用回调。当我设置这种方式时,日历呈现但日期没有
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
      }
    };
  }
}