JS-Data 加载数据但不在视图中呈现
JS-Data loads data but doesn't render in view
我已按照 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 迭代返回的对象,但没有显示任何内容。我知道我的端点被命中并返回数据,因为 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*/
您的装运说明数组嵌套在 "shipmentInstructions" 属性 下,但默认情况下 js-data 期望数据本身就是数组。
您需要从嵌套的 属性 中提取数组。 afterFind
或 afterFindAll
钩子之类的东西是执行此操作的好地方。请参阅另一个 Whosebug 问题的 。
我已按照 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 迭代返回的对象,但没有显示任何内容。我知道我的端点被命中并返回数据,因为 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*/
您的装运说明数组嵌套在 "shipmentInstructions" 属性 下,但默认情况下 js-data 期望数据本身就是数组。
您需要从嵌套的 属性 中提取数组。 afterFind
或 afterFindAll
钩子之类的东西是执行此操作的好地方。请参阅另一个 Whosebug 问题的