[英]json data not display in ng grid in angular js?
我正在做一個基於EJB,AngularJS,restful web服務和JPA的項目。
我已經創建了一個Web服務,它將以JSON格式從數據庫返回數據到客戶端。
在客戶端,我想在ng-grid
顯示此JSON數據,但數據未顯示。
下面是我的代碼:
JS代碼
dashboard.controller('MainController', function($scope, $http) {
$http.get('http://localhost:8080/WebApplication2/rest/testentity').
success(function(data) {
$scope.mydata = data;
console.log("data response : " + $scope.mydata);
});
$scope.gridOptions = {
data: $scope.mydata,
enableRowSelection: false,
enableCellEditOnFocus: true,
multiSelect: false,
columnDefs: [{
field: 'id',
displayName: 'id',
enableCellEdit: false
},
{
field: 'testname',
displayName: 'testname',
enableCellEdit: false
},
{
field: '',
displayName: 'Save',
enableCellEdit: false,
cellTemplate: '<button id="editBtn" type="button" ng-click="saveItem(row.entity.testname)" >Save</button>'
}
]
};
});
在控制台中,它將顯示正確的數據
控制台輸出
data response : [object Object],[object Object]
請提出我的代碼有什么問題。
嘗試
$scope.mydata = data.data;
對象也許在對象內部
可能是這樣的情況:ng-grid在數據在范圍內(即來自服務的$scope.data
)實際可用之前被初始化。 如果是這樣的話,您必須在服務成功返回之后編寫初始化。 試試這兩個選項 。 1st:您可以在$http
成功塊中編寫'$ scope.gridOptions'初始化。 示例代碼可以是:
$http.get('http://localhost:8080/WebApplication2/rest/testentity').
success(function(data) {
$scope.mydata = data;
console.log("data response : " + $scope.mydata);
initializeGridOptions();
});
var initializeGridOptions = function(){
$scope.gridOptions = {
data: $scope.mydata,
.....,
.....
};
};
或 第二:您可以在$timeout
內編寫初始化
$timeout(function(){
$scope.gridOptions = {
data: $scope.mydata,
.....,
.....
};
}, 200);
$timeout
服務在執行代碼之前將在此處等待一段時間(200ms),因此我們可以期望服務屆時將返回數據(如果需要,您可以進一步增加時間)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.