首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PrimeNG - FullCalendar:无法访问fullCalendar方法

PrimeNG - FullCalendar:无法访问fullCalendar方法
EN

Stack Overflow用户
提问于 2019-07-04 08:48:40
回答 1查看 1.5K关注 0票数 2

我有一个角7应用程序,在其中我使用PrimeNG和FullCalendar 4来显示和管理一天的时间表。要删除一个事件,我向呈现的事件添加了一个自定义的delete图标,并将其onClick事件绑定到我的onEventDeleteClicked函数。

根据PrimeNG文档,我为日历添加了一个ViewChild来访问它的方法(下面的代码)。

https://www.primefaces.org/primeng/#/fullcalendar

component.ts ViewChild和onEventDeleteClicked

代码语言:javascript
复制
@ViewChild('daySchedule') fc: FullCalendar;

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

component.html

代码语言:javascript
复制
<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和角生命周期挂钩AfterViewInit )中进行了检查。在这两个函数中,FC都是定义的,我可以访问getCalendar(),但是当从我自己的任何函数访问时,似乎没有定义这个FC之外的功能。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-08 13:50:32

经过进一步的挖掘和测试,我发现我通过以下方式添加到图标中的事件侦听器:

代码语言:javascript
复制
element.addEventListener('click', this.onEventDropped, false);

是问题所在。用Angulars Renderer2代替它,帮我解决了这个问题。

代码语言:javascript
复制
this.renderer.listen(element, 'click', (dropEvent: any) => {
          this.onEventDropped(dropEvent);
        });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56884024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档