2015-12-18 115 views
0

我已經按照js-data角度教程在我當前的項目中設置了js-data-angular。JS數據加載數據,但不會在視圖中呈現

模型定義:

 .factory('shipmentFactory', 
    function(DS) { 
     return DS.defineResource({ 
     name:'ShipmentInstructions', 
     idAttribute:'id', 
     basePath:'apiEndpoint' 
     } 
     ); 
    }).run(function (shipmentFactory){}) 

在我的控制器:

.controller('ShipListCtrl', function($scope,shipmentFactory) { 
    shipmentFactory.findAll().then(function(shipmentInstructions){ 
     $scope.shipments = shipmentInstructions; 
     console.log($scope.shipments) 
    }); 
}); 

在我看來,我嘗試使用NG-重複,但沒有在返回的對象進行迭代顯示。我知道我的端點被擊中並且數據被返回,因爲my console displays the returned shipment object

該教程提到了如何將數據加載到視圖中,但看起來像那些使用ngRoute的人。我在當前項目中使用ui-router,並在嘗試解決該狀態下的資源時遇到更多挑戰。

該資源用於包含在另一個視圖中的視圖 - 該狀態的模板視圖。

只是尋找一些方向,如何讓我的數據在我的視圖中顯示,請提前謝謝。

修訂貨物模型:

.factory('shipmentFactory', 
    function(DS) { 
     return DS.defineResource({ 
     name:'ShipmentInstructions', 
     idAttribute:'id', 
      basePath:'apiEndpoint', 
     cacheResponse: true, 
     afterFindAll: function(data, cb){ 
      //extract the array from that nested property 
      shipmentsArray = []; 
      //forloop to push every item returned to 
      for(var i = 0; i < data.shipmentInstructions.length; i++){ 
      shipmentsArray.push(data.shipmentInstructions[i]); 
      } 
      cb(null,shipmentsArray) 
     } 
     } 
     ); 
    }).run(function (shipmentFactory){})/*makes sure shipmentFactory gets defined*/ 
+0

在設置了'$ scope.shipments'變量後,嘗試'$ scope。$ apply()' –

+0

我相信將它發送到摘要循環 – qmarcelle

回答

0

你的裝運指示陣列嵌套下「shipmentInstructions」屬性,但默認情況下JS-數據預計,數據本身是數組。

您需要從該嵌套屬性中提取數組。像afterFindafterFindAll掛鉤將是一個很好的地方做到這一點。請參閱my answer另一個StackOverflow問題。

+0

謝謝幫助我。我在「後」掛鉤上還有一個額外的數據屬性。似乎我跟着你的其他答案有點太密切了大聲笑謝謝。 – qmarcelle

相關問題