2016-02-12 77 views
1

我在使用ui网格表中显示数据时遇到问题。在角度UI网格中显示数据

我已经定义了一个API,我想从中显示数据,并且可以通过浏览器访问它们,但问题在于显示呈现的数据。这里是我的角度控制器,我在其中定义了从API获取数据的函数:

 getData(); 

     $scope.myData = []; 

     $scope.gridOptions.data = [] 

     $scope.gridOptions.data = $scope.myData; 

     function getData() { 
      $http.get('/load/').success(function (data) { 
       data.forEach(function(row, index) { 
        $scope.myData.push(data); 
       }); 
       $scope.gridOptions.data = data; 
       console.log('data from api', data); 
      }) 
     }; 

我得到空网格。 enter image description here

数据在控制台显示: enter image description here

我还试图解析数据var jsonObj = JSON.parse(data);,但我在Object.parse(原生)

回答

0

你得到一个错误 意外标记Ø 可以编写$scope.$apply()来触发控制器中的更改

+0

我得到了一个错误的使用方法:[$ rootScope:inprog] $消化正在进行中 – corry

+0

如果相运行时,如果($范围,你可以检查一下! $$ phase){$ scope。$ apply()} –

0

以这种形式返回的数据应该是[“key”:[object,object,object,object]]。 1)转换为使用此数据var jsonObj = JSON.parse(data); 2)在成功!$scope.$$phase?$scope.$apply():null;

+0

我试过这个,再次出现同样的错误:意外的令牌o 在Object.parse(native) – corry

0

我对不起你们用这个表达式,我错在这里。没有必要解析。我在控制器中定义了错误的columnDefs:facepalm:

1

使用此函数将数据推送到数组中。在控制台中检查您的数据,深入了解您的数据。 (点击箭头)我的数据在您的.doc中,可能在另一个属性中。将“items [i] .doc”更改为正确的数据属性。

// pass data.rows to function items params 
// the type is to filter 
function fncArray(items,type) { 
    var filtered = []; 
    for(var i=0; i < items.length; i++) { 
     if (items[i].doc.type = type){ 
      filtered.push(items[i].doc); 
     } 
    } 
    // console.log(filtered); 
    return filtered; 
} 

这是没有过滤

// pass data.rows to function items params 
function fncArray(items) { 
    var newData= []; 
    for(var i=0; i < items.length; i++) { 
      newData.push(items[i].doc); 
    } 
    return newData; 
}