在另一个角度之前调用一个方法

时间:2018-10-16 13:27:50

标签: angular methods observable

我确实有以下两种方法:

print(type(value))

当单击每行上的按钮时,我确实要删除自己的ag-grid中的一行。但是,如果在未首先单击行本身的情况下单击按钮,则无法存储选定的行(未定义)。

我发现在onRowClicked方法中,即使我仅单击按钮(未选择行),也可以访问我选择的行。

所以,我的想法是将行放入 onRowClicked()中,然后将其传递给 onButtonClicked()

默认情况下,由于应用程序的限制, onButtonClicked()称为 BEFORE onRowClicked(),这会导致 this.property onButtonClicked()中是未定义的。

如何在 onButtonClicked()之前强加 onRowClicked()

2 个答案:

答案 0 :(得分:0)

如果您将按钮用作网格的一部分,则可以利用cellclicked事件并摆脱buttonClicked和rowClciked事件。 Cellclick应该能够处理您的请求! https://www.ag-grid.com/javascript-grid-events/

希望有帮助!

答案 1 :(得分:0)

您可以在按钮单击事件中设置标志,如果在触发行单击事件时设置了标志,则处理命令:

private rowClicked : any;
private shouldProcessCommand = false;

onButtonClicked() {
  this.shouldProcessCommand= true;
}

onRowClicked(event) {
  this.rowClicked = event.data;

  if (this.shouldProcessCommand) {
    this.shouldProcessCommand= false;

    // Do some processing with rowClicked
    ...
  }
}

有关演示,请参见this stackblitz