angular2 中未定义的值

value undefined in angular2

我正在创建一个应用程序,我在其中使用 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 时,我在我的控制台中变得未定义。

提前致谢

1) 使用bind方法保留上下文this

this.gridOptions.onSelectionChanged = this.onSelectionChanged.bind(this);

2) 你也可以使用Instance Function

private onSelectionChanged = () => {
    console.log(this.gridOptions);
}

3) 或内联箭头函数

this.gridOptions.onSelectionChanged = () => this.onSelectionChanged();