我正在创建一个应用程序,我在其中使用Ag-Grid api在网页上列出我的数据库内容。 Ag-grid有一个预定义的api来获取所选的行内容。
这是我的代码:
export class customer_entryComponent{
public gridOptions:GridOptions;
constructor(private wakanda: Wakanda){
this.gridOptions = <GridOptions>{
context : {
componentParent : this
}
};
this.gridOptions.columnDefs = this.createColumnDefs();
this.gridOptions.rowData = this.createRowData();
this.gridOptions.rowSelection = 'single';
this.gridOptions.onSelectionChanged = this.onSelectionChanged;
}
private onSelectionChanged(){
console.log(this.gridOptions);
}
}
当我在onSelectionChanged函数中控制this.gridOptions时,我在控制台中未定义。
提前致谢
答案 0 :(得分:2)
1)使用bind
方法保留上下文this
this.gridOptions.onSelectionChanged = this.onSelectionChanged.bind(this);
2)您也可以使用实例函数
private onSelectionChanged = () => {
console.log(this.gridOptions);
}
3)或内联箭头功能
this.gridOptions.onSelectionChanged = () => this.onSelectionChanged();