2013-05-05 89 views
2

我正在使用AngularJS,并且我调用了$ resource来获取单个值(例如获取14)。

以下是在我的控制器:

var MaxCount = $resource('/maxquestion/fetch', null, 
{ 
    getMaxQuestionCount: {method: 'GET', isArray: false} 
}); 
$scope.maxQuestionCount = MaxCount.getMaxQuestionCount(); 

现在我想要在控制器中使用$scope.maxQuestionCount,做$scope.maxQuestionCount[0]给我1$scope.maxQuestionCount[1]给我4

console.log($scope.maxQuestionCount)[object Object]There are no child objects

我很困惑。如何访问值14?

回答

5

对于像这样的数据结构,使用$resource确实没什么意义。问题是$resource适用于使用所有HTTP动词的RESTful端点。为了使这个简单的AngualarJS扩展传入的对象与方便的方法($保存,$删除等)。如果您返回原语,则没有扩展空间,并且$resource的主要益处之一已消失。

简而言之:如果你只是在获取数据之后$ resource是一个过度的IMO,那么应该使用$http来代替。与$resource相比,$http服务虽然被认为是较低级别,但非常方便且易于使用。以你的榜样,你可以写:

$http.get('/maxquestion/fetch').success(function(result){ 
    console.log(result); 
}); 

参考文档以获取更多的例子:http://docs.angularjs.org/api/ng $ HTTP

+0

感谢您的评论。我一定会考虑这一点,并重写我编写的代码。感谢您的高举。 – LittleLebowski 2013-05-05 13:32:29

+0

@LittleLebowski更新了答案,提供了代码示例 – 2013-05-05 13:36:51

+0

非常感谢!真的很感激它。我已经将其更改为$ http,现在它可以工作。真棒 – LittleLebowski 2013-05-05 13:50:37