Я работаю над приложением для бронирования номеров на Angular 7.
Я использую полный календарь для отображения событий из базы данных.
FullCalendar работает хорошо для одной комнаты, нокаждый раз, когда я переключаюсь из другой комнаты, он инициализирует другой Календарь.
Мой код выглядит следующим образом.
ngOnChanges(changes: any) {
this.getAllReservations();
}
public getAllReservations() {
let apiUrl: string = `api/Reservations/Room=${this.selection}`;
this.repository.getData(apiUrl).subscribe(res => {
this.Reservations = res as Reservation[];
//full calendar intit
var calendarEl = document.getElementById('calendar');
var calendar = new Calendar(calendarEl, {
events: this.Reservations.map(function (x) {
return {
title: x.Note,
start: x.StartDate,
end: x.EndDate
};
}),
});
calendar.render();
},
(error) => {
this.errorHandler.handleError(error);
this.errorMessage = this.errorHandler.errorMessage;
})
}
Я повторяю, этот код работает хорошо, я получаю свои события.=> Доказательство .
Но это создает новый календарь ниже каждый раз, когда я называю комнату, и это моя проблема.
И я полностью понимаю, но не могунайти решение, чтобы решить мою проблему.Я пытался изолировать Календарь в ngOnInit и обновлять только события, но функция events не находит Календарь.