Gridster 2 - EmptyCellClickCallback 无法访问组件对象 - Angular 8

Posted

技术标签:

【中文标题】Gridster 2 - EmptyCellClickCallback 无法访问组件对象 - Angular 8【英文标题】:Gridster 2 - EmptyCellClickCallback Can't Access Component Objects - Angular 8 【发布时间】:2021-01-06 04:11:58 【问题描述】:

我已经连接了 gridster2 选项以启用通过空单元格进行点击,如下所示:

 this.options =        
    enableEmptyCellClick: true,
    emptyCellClickCallback: this.emptyCellClick,
 

 add()
   //
 

emptyCellClick(event: MouseEvent, item: GridsterItem): void      
     this.add()

我收到控制台错误“this.add 不是函数”。我什至无法访问通过组件中的构造函数传入的服务。

我假设 emptyCellClick callback 在组件的其余部分之前被初始化,但我不知道如何解决这个问题。

我正在使用 Angular 8.2.12 和 gridster2。

【问题讨论】:

发现需要绑定回调:this.emptyCellClick = this.emptyCellClick.bind(this); 【参考方案1】:

我认为这是因为 this 关键字的上下文不同(即它不是指组件类)。

如果可能,试试这样的方法。

this.options =        
    enableEmptyCellClick: true,
    emptyCellClickCallback: (event: MouseEvent, item: GridsterItem) => this.emptyCellClick(event: MouseEvent, item: GridsterItem),
 

或者你说的绑定这个也是可以的

【讨论】:

以上是关于Gridster 2 - EmptyCellClickCallback 无法访问组件对象 - Angular 8的主要内容,如果未能解决你的问题,请参考以下文章

如何使 textarea 元素填充整个父 div 网格框(使用 angular-gridster2 或 gridster 库)?

angular gridster 2使用按钮调整小部件的大小

angular 5,gridster 具有不同的组件

Gridster 肖像重新布局

Gridster 里面的 Gridster

Gridster 的替代品? [关闭]