【问题标题】:How to call a service from ag grid drag & drop event如何从 ag 网格拖放事件中调用服务
【发布时间】:2020-02-14 10:34:57
【问题描述】:

我设置了一个带有触发拖放事件的选项的 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 可以从网格组件的 init 函数中调用,所以我只是不确定如何调用网格外部的东西或任何解决方法?

【问题讨论】:

    标签: angular ag-grid-angular angular-grid


    【解决方案1】:

    无论调用者如何,箭头函数都将在其词法上下文中执行。试试这个:

    this.gridOptions = {
          columnDefs: this.getColumnDefs(),
          rowDragManaged: true,
          onRowDragEnter: (event: RowDragEvent) => {
               this.onRowDragEnter(event);
          },
          onRowDragEnd: (event: RowDragEvent) => {
               this.onRowDragEnd(event);
          }
    ...
    

    编辑:我更新了这个答案,以便您可以将参数从事件传递给您的处理程序。

    【讨论】:

      猜你喜欢
      • 2022-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-20
      • 2019-03-20
      • 2020-11-06
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多