Angular2 FullCalendar 回调无法访问的属性

标签 angular typescript fullcalendar

我有一个 angular2 应用程序,其中有一个完整的日历组件。我想使用 eventClick 回调在单击完整日历事件时显示一个对话框。我有以下代码来执行此操作:

export class ScheduleComponent implements OnInit{

events: CalendarEvent[];
display: boolean;
tables: SelectItem[];
selectedTable: string;

ngOnInit(){
    this.display = false;
    this.scheduleService.GetAllEvents().subscribe((data: CalendarEvent[]) => 
            { 
                this.events = data;
                var calendar: JQuery = $("#calendar");
                (<any>calendar).fullCalendar({
                    eventClick: function(event) {
                        this.display = true;
                        return false;
                    }
                });
            });
}

这是一个非常简化的版本,但应该提供所有需要的信息。

我的问题是 eventClick 回调中的 this.display = true 行似乎无法看到 display 属性.

有谁知道这是为什么以及我该如何解决它?

谢谢,

最佳答案

通常在发布问题后,我现在已经制定了解决方案。

对于其他遇到此问题的人来说,解决方案是使用“粗箭头”表示法。

所以不是这个:

eventClick: function(event) {
                        this.display = true;
                        return false;
                    }

我用过这个:

eventClick: (event) => {
                        this.display = true;
                        return false;
                    },

我不太确定它是如何工作的,因为它只是反复试验。因此,如果有人确实知道原因并且可以解释,那么我将非常有兴趣找出原因。

关于Angular2 FullCalendar 回调无法访问的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40361558/

相关文章:

angular - 如何获得 Angular 7 中的响应代码

validation - 表单验证不适用于 Ionic 2 中的 Angular 2 FormBuilder

java - IE 未呈现 fullcalendar.js 事件

javascript - 如何在 JavaScript 完整日历中仅对月 View 使用自定义按钮?

angular - msal HTTP_INTERCEPTORS 不自动添加请求 header

Angular2 获取被点击的元素id

typescript - 按照 Jest Docs,在 mockImplementation() 上出现错误。我究竟做错了什么?

javascript - 如何检查三元运算符中的 undefined variable ?

angularjs - Typescript 接口(interface)属性从驼峰大小写更改为 Pascal 大小写

jquery - fullcalendar mysql 选择 WHERE 当前日期范围