2017-08-08 36 views
0

我正在使用ag-grid 3.3.3 with angular。ag-grid 3.3.3:「onModelUpdated」事件未定義

下正常工作:

$scope.myGrid = { 
    rowData: $scope.data, 
    columnDefs: [...], 
    onModelUpdated: function(event) { 
     this.api.setFloatingBottomRowData([boxes: 0, weight: 0]); 
    } 
}; 

但我想重用裏面onModelUpdated其他網格代碼...

所以我創建了一個角的工廠是這樣的:

angular.module('myApp').factory('MyFactory', ['$filter', function($filter) { 
    return { 
     onModelUpdated: function(event) { 
      //console.log(event.api); 
      event.api.setFloatingBottomRowData([boxes: 0, weight: 0]); 
     } 
    } 
}]); 

而我試圖這樣使用它:

$scope.myGrid = { 
    rowData: $scope.data, 
    columnDefs: [...], 
    onModelUpdated: MyFactory.onModelUpdated 
}; 

但是我收到undefined事件!

什麼是事件內容?

當我這樣做:console.log(event)我得到一個純JS對象...

我怎麼能重複使用我的代碼?

回答

0

呃,有時我需要在StackOverflow中詢問才能說明自己。

我落得這樣做:

廠:

angular.module('myApp').factory('MyFactory', ['$filter', function($filter) { 
    return { 
     onModelUpdated: function(grid) { 
      grid.api.setFloatingBottomRowData([boxes: 0, weight: 0]); 
     } 
    } 
}]); 

格:

$scope.myGrid = { 
    rowData: $scope.data, 
    columnDefs: [...], 
    onModelUpdated: function(event) { 
     MyFactory.onModelUpdated(this); 
    } 
};