PRIMENG -FULLCALENDAR:无法访问FullCalendar方法



我有一个Angular 7应用程序,其中我使用PrimeNG和FullCalendar 4来显示和管理日程表。要删除事件,我在渲染事件中添加了自定义删除图标,并将其onClick事件绑定到我的OneVentDeleteClicked函数。

根据PrimeNG文档,我为日历添加了ViewChild以访问其方法(下面代码(。
https://www.primefaces.org/primeng/#/fullcalendar

component.ts ViewChild和OneVentDeleteClicked

@ViewChild('daySchedule') fc: FullCalendar;
public onEventDeleteClicked(event: Event): void {
    // Delete selected Event
    const calendar = this.fc.getCalendar();
    console.log(event);
}

component.html

<div class="calendar-container">
    <p-fullCalendar #daySchedule [events]="events" [options]="options"></p-fullCalendar>
</div>

但是,当我尝试在方法中调用 "const calendar = this.fc.getCalendar();"时,我得到 Error: "Cannot get getCalendar of undefined"

我已经在FullCalendars中检查了自己的回调,例如EventRender和Angular Lifecycle Hook AfterViewInit。在这两个中,FC都被定义了,我能够访问getCalendar(),但是从我自己的任何功能访问时,似乎不确定了该FC。

在进行更多挖掘和测试之后,我发现我添加了我在图标中添加的事件侦听器:

element.addEventListener('click', this.onEventDropped, false);

是问题。用Angulars Renderer2替换它为我解决了问题。

this.renderer.listen(element, 'click', (dropEvent: any) => {
          this.onEventDropped(dropEvent);
        });

相关内容

  • 没有找到相关文章

最新更新