我是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>谁能告诉我我做错了什么?
答案 0 :(得分:0)
为ngResource指定名为isArray
;
默认情况下,默认操作query
将此设置为true,因此您需要将操作设置为:
query : {
method : 'GET',
isArray : false
}