Angular UI Grid onRegisterApi方法调用两次

时间:2016-11-05 12:57:08

标签: javascript angularjs angular-ui-grid

在我的代码中,如果我独立运行它可以正常工作,但在集成到我的项目后,“onRegisterApi”方法调用两次。这似乎与现有的Ui-Grid存在冲突。

任何人都有任何想法吗?如何调试这个并找到根本原因。我已经花了很多时间在这个

var app = angular.module('app', ['ngTouch', 'ui.grid', 'ui.grid.pagination']);

app.controller('MainCtrl', [
'$scope', '$http', 'uiGridConstants', function($scope, $http, uiGridConstants) {

var paginationOptions = {
pageNumber: 1,
pageSize: 25,
sort: null
};

$scope.gridOptions = {
paginationPageSizes: [25, 50, 75],
paginationPageSize: 25,
useExternalPagination: true,
useExternalSorting: true,
columnDefs: [
  { name: 'name' },
  { name: 'gender', enableSorting: false },
  { name: 'company', enableSorting: false }
],
onRegisterApi: function(gridApi) {
  $scope.gridApi = gridApi;
  $scope.gridApi.core.on.sortChanged($scope, function(grid, sortColumns) {
    if (sortColumns.length == 0) {
      paginationOptions.sort = null;
    } else {
      paginationOptions.sort = sortColumns[0].sort.direction;
    }
    getPage();
  });
  gridApi.pagination.on.paginationChanged($scope, function (newPage, pageSize) {
    paginationOptions.pageNumber = newPage;
    paginationOptions.pageSize = pageSize;
    getPage();
  });
  }
   };

 var getPage = function() {
  // server call
};

 getPage();
 }
  ]);

0 个答案:

没有答案