簡體   English   中英

json數據無法在angular js的ng網格中顯示?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM