ngResource查询返回奇怪的对象

时间:2014-08-13 18:37:28

标签: javascript angularjs ngresource

我是AngularJS的新手,想要试用$ resource功能。

我有这段代码:

 .factory('GetTasksService', function($resource, BASE_URL) {
        return $resource(BASE_URL + 'api/tasks');
    })
    .controller('TasksCtrl', function ($scope, $http, BASE_URL, GetTasksService) {

        $scope.tasks = GetTasksService.query();

        $scope.getTasks = function () {
            $http({ url: BASE_URL + 'api/tasks', method: 'GET' })
            .success(function (data, status, headers, config) {
                $scope.tasks = data; 
            })
            .error(function (data, status, headers, config) {
                alert("call did not work");
            });
        }
    });

getTasks函数按预期工作 - 返回一个数组:[" taska"," taskb"]应该如此。

然而,GetTasksService.query()返回一个数组[{&#34; 0&#34;:&#34; t&#34;,&#34; 1&#34;&#34; a&#34 ;,&#34; 2&#34;:&#34; S&#34;&#34; 3&#34;:&#34; K&#34;&#34; 4&#34;:&#34 ;&#34;},{&#34; 0&#34;:&#34; t&#34;,&#34; 1&#34;:&#34; a&#34;,&#34; 2&# 34;:&#34; S&#34;&#34; 3&#34;:&#34; K&#34;&#34; 4&#34;:&#34; b&#34;}] < / p>

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:0)

为ngResource指定名为isArray;

的动作时有一个选项

默认情况下,默认操作query将此设置为true,因此您需要将操作设置为:

query : {
     method : 'GET',
     isArray : false

  }