我在ag-grid上设置了触发拖放事件的选项:
this.gridOptions = {
columnDefs: this.getColumnDefs(),
rowDragManaged: true,
onRowDragEnter: this.onRowDragEnter,
onRowDragEnd: this.onRowDragEnd,
...
我也有一个简单的服务
export class myService {
...
public doSomething(): void {
...
}
}
似乎我无法从doSomething
事件中调用onRowDragEnd
服务功能-收到cannot read property 'doSomething' of undefined... at Object.onRowDragEnd
错误。
我知道服务已定义并且可以正常运行,可以从网格组件的init函数调用doSomething
,所以我不确定如何调用网格外部的东西或任何解决方法?
答案 0 :(得分:1)
箭头函数将在其词法上下文中执行,而与调用者无关。试试这个:
this.gridOptions = {
columnDefs: this.getColumnDefs(),
rowDragManaged: true,
onRowDragEnter: (event: RowDragEvent) => {
this.onRowDragEnter(event);
},
onRowDragEnd: (event: RowDragEvent) => {
this.onRowDragEnd(event);
}
...
编辑:我更新了此答案,以便您可以将事件的参数传递给处理程序。