我有这样的服务:angularjs服务工作不正常
angular.module('autotestApp').factory('GroupService', ['$http', function ($http) {
var groups = [];
return{
list: function() {
return groups;
},
retrieve: function() {
$http({
method: "get",
url: "/enterprises/_groups"
}).success(function (response) {
groups = response;
}).error(function() {
console.log("failed")
});
}
}
}]);
,这是我的控制器:
angular.module('autotestApp').controller('GroupsController', function($scope, $http, GroupService) {
GroupService.retrieve();
$scope.items = GroupService.list();
});
所以,在我的控制,我第一次收到来自API的结果使变量组(在服务中)被分配,然后我使用list()方法将值赋给$ scope.items。
我确定API正在返回结果。但是
groups = response
部件无法正常工作。当我把它改成
groups.push(response)
这是工作,但结果是一个列表内的列表,这是我想dont't:[对象,对象,对象]
我想这一点:[对象,对象,对象]
如何解决这个问题?
这是工作:)但我需要该组变量分配给response.data,以便我可以在另一个控制器中使用它。但是,我没有提到在我的问题中,你的回答是正确的,所以我会接受它。 – Rodrigue 2014-12-09 13:33:00
我编辑答案以添加响应的缓存,以便您可以在不同控制器中使用结果,但它只会发出单个请求。 – Rytmis 2014-12-09 19:32:40