如何在AngularJS中获取Resource对象的键?

时间:2014-01-25 19:12:04

标签: javascript angularjs

我是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
    ]
}

1 个答案:

答案 0 :(得分:1)

你实际上工作太辛苦:)。

get 方法将返回对空对象的引用,该对象将在对资源的异步http调用完成后填充。

你的造型对我来说并没有多大意义。每个值都应该键入它的唯一ID - 大概就是你的 selectedData 。通过这种方法,您已经知道“关键”值应该是什么。

它看起来像这样:

query = "ABC_12345";
$rootScope.values[$rootScope.selectedData] = StorageRequest.get({"id": $rootScope.selectedData, 
"queriString": query}, function (){        
});