Ng-grid Cannot set property 'gridDim' of undefined

匿名 (未验证) 提交于 2019-12-03 00:50:01

问题:

I'm new in Angular, and I try to declare gridOption for ng-grid Within a function in costroller.

It cause an error:

TypeError: Cannot set property 'gridDim' of undefined

I tried to solve it using $scope.apply and ng-if in template. But nothing from this is working for me.

Thanks for any advice:

method of the Controller:

$scope.getTest = function() {      $http.get('http://www.iNorthwind.com/Service1.svc/getAllCustomers')     .success(function (data, status, headers, config) {             //$scope.myData = data;             console.log('Sucess' + data);             // definition for ng-grid table              $scope.myData = [{ name: "Moroni", age: 50 },                              { name: "Tiancum", age: 43 },                              { name: "Jacob", age: 27 },                              { name: "Nephi", age: 29 },                              { name: "Enos", age: 34}];             $scope.gridOptions = { data: 'myData' };             //$scope.$apply();     })     .error(function(data, status, headers, config) {             $scope.myData = data;     });  }; 

回答1:

I just ran into this issue yesterday....

In order to initially render, ng-grid needs the options to be supplied initially, not after your $http promise is resolved.

Move your $scope.gridOptions = { data: 'myData' } call outside of your success promise and your issue should go away.



回答2:

It is working for me when we define 'gridOptions' outside of success and error methods as shown below:

$scope.getCategory = function(){             var listURL = "/sites/AwardTrackingSystem/_api/web/lists/getByTitle('Categories')/items"+                         "?$select=Id,Title";                                                                 srvcQuerySPList.getItems(listURL)             .then(                 function(data){                                 $scope.allCategory = data;                               },                 function(data){alert('Error Awards---------------'+JSON.stringify(data));}              );          };         $scope.gridOptions = { data: 'allCategory'}; 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!