【问题标题】:value undefined in angular2angular2中未定义的值
【发布时间】:2017-07-15 16:08:53
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: angular typescript ag-grid


    【解决方案1】:

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

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

    2) 也可以使用实例函数

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

    3) 或内联箭头函数

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

    【讨论】:

      猜你喜欢
      • 2017-08-02
      • 1970-01-01
      • 2016-08-21
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-24
      • 2017-12-29
      相关资源
      最近更新 更多