我是AngularJS的新手,并且遇到了$ resource返回的Resource对象的一些问题。如果我打电话给data['something']
,我会得到我想要的。但问题是我不知道密钥和资源没有.keys()
功能。我怎么解决这个问题?如果有帮助,资源对象只有一个密钥。
工厂要求:
.factory('StorageRequest', ['$resource',
function ($resource) {
return $resource('/api/storage/:id/query/:queriString', {id: '@id'}, {});
}
]);
代码:
query = "ABC_12345";
StorageRequest.get({"id": $rootScope.selectedData,
"queriString": query}, function (data){
key = ??
$rootScope.values[key] = data[key];
});
data
的价值:
Resource {ABC_12345: Array[3], $get: function, $save: function, $query: function, $remove: function…}
来自服务器的响应:
{
- ABC_12345: [
1,
2,
3
]
}
答案 0 :(得分:1)
你实际上工作太辛苦:)。
get 方法将返回对空对象的引用,该对象将在对资源的异步http调用完成后填充。
你的造型对我来说并没有多大意义。每个值都应该键入它的唯一ID - 大概就是你的 selectedData 。通过这种方法,您已经知道“关键”值应该是什么。
它看起来像这样:
query = "ABC_12345";
$rootScope.values[$rootScope.selectedData] = StorageRequest.get({"id": $rootScope.selectedData,
"queriString": query}, function (){
});