【问题标题】:fullcalendar viewRender - can't call service angular 5fullcalendar viewRender - 无法调用服务角度 5
【发布时间】:2017-12-08 10:06:32
【问题描述】:

我正在尝试根据当前视图获取事件。为了跟踪“上一个”、“下一个”点击和初始显示视图,我使用了 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,
  ...
  ...
}

我希望我的服务能够在该场景中工作并被触发 - 在日历首次初始化时以及每次单击“上一个”/“下一个”按钮时

目前,输出是

错误类型错误:无法读取未定义的属性“getEvents”

还有其他方法可以调用这个外部命令吗? 我也试过直接使用httpClient,但是http也是一个服务,看起来是无法访问的

【问题讨论】:

  • 展示你的 EventService

标签: javascript angular service fullcalendar


【解决方案1】:

现在解决了

设法通过附加以下内容访问我的服务:

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;
    ...
    ...
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 2015-12-10
    • 2021-08-25
    相关资源
    最近更新 更多