2017-12-08 15 views
0

現在のビューに基づいてイベントを取得しようとしています。 'prev'、 'next'クリック、最初の表示ビューを追跡するために、私はCalendarOption viewRenderを使用して、完全なビューを返し、すべてのクリックを呼び出して、新しいフルビューを表示します。fullcalendar viewRender - サービス角度5を呼び出せません

問題は - 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, 
    ... 
    ... 
} 

私は仕事に私のサービスを期待していて、そのシナリオ内からトリガーされる - カレンダーに最初に初期化し、毎回「前に」/「次へ」ボタンが現在

をクリックされ、出力され

ERROR TypeError: Cannot read property 'getEvents' of undefined

この外部コマンドを呼び出す方法はありますか? 私はまた、直接のHttpClientを使用してみましたが、HTTPはまた、それが解決されるようになりました

+0

あなたのEventServiceを表示 – brijmcq

答えて

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; 
    ... 
    ... 
    } 
} 
関連する問題