Ng-grid无法设置未定义的属性'gridDim'

时间:2014-06-06 12:55:21

标签: javascript angularjs ng-grid

我是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;
    });

};

2 个答案:

答案 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'};