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

Другие вопросы по тегам