Fullcalendar и Angular 14 — доступ к функциям компонента
Вероятно, это что-то простое, в любом случае по какой-то причине я не могу получить доступ к своим функциям компонента из объекта конфигурации fullcalendar.
Я следовал официальному документу о том, как настроить fullcalendar в Angular 14: https://fullcalendar.io/docs/v6/angular.
import { Component, OnInit } from '@angular/core';
import { CalendarOptions, defineFullCalendarElement } from '@fullcalendar/web-component';
import dayGridPlugin from '@fullcalendar/daygrid';
import { MyHttpService } from '...';
defineFullCalendarElement();
@Component({
selector: 'app-calendar',
templateUrl: './calendar.component.html',
styleUrls: ['./calendar.component.css']
})
export class CalendarComponent implements OnInit {
test:number = 1;
calendarOptions: CalendarOptions = {
plugins: [dayGridPlugin],
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,dayGridWeek,dayGridDay'
},
events: function (info, successCallback, failureCallback) {
console.log(this.test) //Cannot read properties of null (reading 'test')
this.myHttpService.getEvents() //Cannot read properties of null (reading 'myHttpService')
.subscribe((events) => {
successCallback(this.makeEvents(events));
});
},
};
/**/
constructor(protected myHttpService : MyHttpService) { }
По сути, я не могу получить доступ к «этому». внутри функции событий. Это нормально ?
1 ответ
в настоящее время это относится к calendarOptions, вместо создания функции событий с использованием ключевого слова function создайте ее с помощью функции стрелки.
пример:
events: (info, successCallback, failureCallback)=>{}
вы должны иметь доступ к this.test