fullcalendar viewRender - 无法调用服务角5

时间:2017-12-08 01:19:48

标签: javascript angular service fullcalendar

我正在尝试根据当前视图获取事件。要跟踪“上一个”,“下一个”点击和初始显示视图,我使用CalendarOption viewRender返回完整视图,并在每次点击时调用自身 - 这会提供新的完整视图。

问题是 - 根据提取的viewRender视图输出参数,我无法调用我从中获取事件的服务。

constructor (public eventService: EventService)

calendarOptions = {
  ...
  ...
  eventLimit: true,
  viewRender: function(view) {
    this.eventService.getEvents(view)   // <--- code stops here, error printed at bottom
      .subscribe(
        response => {
          this.events = response.events;
        },
        error => {
          console.log(error)
        }
      );
    console.log(this.events);
  },
  events: this.events,
  ...
  ...
}

我期待我的服务能够在这种情况下触发工作 - 在日历上首次初始化并且每次点击“上一个”/“下一个”按钮

目前,输出是

  

错误TypeError:无法读取未定义的属性'getEvents'

我可以通过其他方式调用此外部命令吗? 我也尝试过直接使用httpClient,但HTTP也是一种无法访问的服务

1 个答案:

答案 0 :(得分:0)

现在已经解决了

通过附加:

来管理以访问我的服务

const eventService = this.eventService;

这里:

initCalendar() {
  const eventService = this.eventService;
  var events = []
  this.calendarOptions = {
    ...
    ...
    viewRender: function(view) {
    eventService.getEvents(view) // <----- Not accessing with 'this' anymore
      .subscribe(
        response => {
          events = response.events;
        },
        error => {
          console.log(error)
        }
      );
    },
    events: events;
    ...
    ...
  }
}