js-data angular チュートリアルに従って、現在のプロジェクトで js-data-angular をセットアップしました。
モデル定義:
.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-repeat を使用して返されたオブジェクトを反復しようとしましたが、何も表示されません。エンドポイントがヒットし、データが返されたことは、コンソールに返された出荷オブジェクトが表示されていることがわかります。
チュートリアルでは、データをビューにロードする方法について言及していますが、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*/