【问题标题】:How to get first element of array returned by Angular resource?如何获取 Angular 资源返回的数组的第一个元素?
【发布时间】:2015-05-28 22:31:36
【问题描述】:

我从服务器收到了 $resource 的响应。在控制台中显示如下:

$promise: Object,
$resolved: true,
0: f

我怎样才能得到那个 0 元素?当我尝试 array[0] 语法时,我得到 undefined.

这是我的 $resouce 代码:

angular.module('groupsModel', ['ngResource']).
    factory('Groups', function($resource) {
        var Groups = $resource('http://localhost:7777/api/users/:id/bands', {id:'@id'}, {'query':  {method:'GET', isArray:true, params: {id:'@id'}}});

        return Groups;
    });

【问题讨论】:

  • 你是如何访问数组的?你能显示那个代码吗?
  • 向我们展示您的 Groups 对象
  • 你在哪里尝试过 array[0] 语法?
  • 我正在尝试访问控制器中的数组。这是代码: var groups = Groups.query({id:$routeParams.id}); var group = groups[0];

标签: javascript angularjs ngresource


【解决方案1】:

要获取资源,您可以这样做

groupsModel.query()

因为您将第一个资源命名为“查询”

为了得到这个资源的承诺,你可以做

groupsModel.query().$promise

并使用从资源返回的数据,您可以这样做

groupsModel.query().$promise.then(function(data){
// success, use data
}, function(err){
// failure, use err for logging etc...
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    • 2011-05-16
    • 2012-06-05
    • 2010-12-27
    • 2015-01-01
    • 2012-08-03
    相关资源
    最近更新 更多