2016-09-26 57 views
0

AngularJS不會在我的數據結構中顯示「跟蹤」條目。它將跟蹤顯示爲「跟蹤」:[]作爲HTML模板中的空數組,以及何時使用console.log .d。AngularJS不會在MongoDB的數組內顯示對象

我的API返回的數據結構如下:

[{ 
"_id": "57e96aaa45b09843a53a4dcd", 
"phase": 1, 
"notes": "asdf", 
"treatment": "asdf", 
"patientname": "asdf", 
"__v": 0, 
"tracking": [ 
    { 
    "modifiedby": "Person", 
    "action": "Created", 
    "_id": "57e96aaa45b09843a53a4dce", 
    "modifiedat": "2016-09-26T18:36:26.281Z" 
    } 
] 
}] 

在AngularJS我有以下工廠:

getwaiting: function(callback){ 
     $http.get('/pre-auth/getwaitingsubmit').then(function success(data){ 
      return callback(data.data) 
     }) 
    } 

在我的控制器:

WaitingFactory.getwaiting(function(data){ 
     console.log(data); 
     $scope.waitinglist = data; 
    }); 

當我做{{等候名單}}在我的HTML模板中,它會顯示除「跟蹤」以外的所有數據。它顯示跟蹤爲:「跟蹤」:[],我無法通過進入數據來訪問數據。如果我將數據和console.log字符串化,我可以看到數據是IN跟蹤,如第一個代碼片段所示。

我在這裏做錯了什麼?

+0

只是循環你的數據和你的好去 –

+0

就是這樣。我只是穿過它,它在那裏! – supreme0100

回答

0

嘗試恢復出廠承諾,而不是使用回調:

在控制器
getwaiting: function(){ 
     return $http.get('/pre-auth/getwaitingsubmit').then(function success(data){ 
      return data.data; 
     }) 
    } 

WaitingFactory.getwaiting().then(function(data){ 
     console.log(data.tracking); 
     $scope.waitinglist = data; 
    }); 

小警告:當您展開數據對象在控制檯視圖時console.log被稱爲,它顯示數據對象的最新值,即當異步$ http調用返回有效數據時。

嘗試打印data.tracking,如果這確實是異步問題,則應返回undefined。請參閱:Weird behavior with objects & console.log

0

嘗試Oberon的建議後,數據以相同的方式打印。

然後我注意到t3__rry的評論只是「循環遍歷」,並且確實已經用了ng-repeat,數據在那裏我只需要循環,我猜angularJS只是不想在打印中顯示對象。

它仍然奇特,在鉻控制檯它仍然顯示跟蹤陣列[0]。

謝謝大家的快速回復!