如何从 ag 网格拖放事件调用服务
How to call a service from ag grid drag & drop event
我设置了一个 ag-grid,其中包含触发拖放事件的选项:
this.gridOptions = {
columnDefs: this.getColumnDefs(),
rowDragManaged: true,
onRowDragEnter: this.onRowDragEnter,
onRowDragEnd: this.onRowDragEnd,
...
我也有简单的服务
export class myService {
...
public doSomething(): void {
...
}
}
我似乎无法从 onRowDragEnd
事件中调用 doSomething
服务函数 - 出现 cannot read property 'doSomething' of undefined... at Object.onRowDragEnd
错误。
我知道服务已定义且工作正常,doSomething
可以从网格组件的初始化函数调用,所以我只是不确定如何调用网格外部的东西或任何解决方法?
无论调用者如何,箭头函数都将在其词法上下文中执行。试试这个:
this.gridOptions = {
columnDefs: this.getColumnDefs(),
rowDragManaged: true,
onRowDragEnter: (event: RowDragEvent) => {
this.onRowDragEnter(event);
},
onRowDragEnd: (event: RowDragEvent) => {
this.onRowDragEnd(event);
}
...
编辑:我更新了这个答案,这样您就可以将事件中的参数传递给您的处理程序。
我设置了一个 ag-grid,其中包含触发拖放事件的选项:
this.gridOptions = {
columnDefs: this.getColumnDefs(),
rowDragManaged: true,
onRowDragEnter: this.onRowDragEnter,
onRowDragEnd: this.onRowDragEnd,
...
我也有简单的服务
export class myService {
...
public doSomething(): void {
...
}
}
我似乎无法从 onRowDragEnd
事件中调用 doSomething
服务函数 - 出现 cannot read property 'doSomething' of undefined... at Object.onRowDragEnd
错误。
我知道服务已定义且工作正常,doSomething
可以从网格组件的初始化函数调用,所以我只是不确定如何调用网格外部的东西或任何解决方法?
无论调用者如何,箭头函数都将在其词法上下文中执行。试试这个:
this.gridOptions = {
columnDefs: this.getColumnDefs(),
rowDragManaged: true,
onRowDragEnter: (event: RowDragEvent) => {
this.onRowDragEnter(event);
},
onRowDragEnd: (event: RowDragEvent) => {
this.onRowDragEnd(event);
}
...
编辑:我更新了这个答案,这样您就可以将事件中的参数传递给您的处理程序。