我是Angular的新手,我尝试在costroller中的函数中声明ng-grid的gridOption。
导致错误:
TypeError:无法设置属性' gridDim'未定义的
我尝试使用$ scope.apply和ng-if在模板中解决它。但是,这对我没有任何影响。
感谢您的任何建议:
控制器的方法:
$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;
});
};
答案 0 :(得分:19)
我昨天刚遇到这个问题......
为了最初呈现,ng-grid
需要最初提供的选项,而不是在$http
承诺得到解决后。
将您的$scope.gridOptions = { data: 'myData' }
电话转移到您的成功承诺之外,您的问题就会消失。
答案 1 :(得分:0)
当我们定义“gridOptions”时,它对我有用。成功和错误方法之外如下所示:
$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'};