我正在将ag-grid-angular组件注入父组件,该组件知道何时将数据添加到网格中 . 当我通过onAddRow()方法调用网格组件时,我发现this.gridOptions.api未定义 . 这不是网格准备就绪的问题,因为在调用组件之前,onGridReady事件会正常触发 .

这似乎是一个范围问题 . 出于某种原因,父组件知道gridOptions,但不知道gridOptions.api .

constructor(private mcService: MonteCarloService) {
        this.gridOptions = <GridOptions>{
            rowData: MCInputGridComponent.createRowData(),
            columnDefs: MCInputGridComponent.createColumnDefs(),
            singleClickEdit: true,
            onGridReady: function(event) { this.api.setFocusedCell(0, "histDataType", null); },

        };
    }

onAddRow() {
        var newItem = this.createNewRowData();
        console.log(this.gridOptions.api); // undefined when calling onAddRow() from parent component into which my grid component was injected
        this.gridOptions.api.updateRowData({add: [newItem]});
    }

createNewRowData() {
        var newData = {sprint: "5", histDataType: null};
        return newData;
    }