【发布时间】:2016-01-19 09:40:56
【问题描述】:
我正在构建一个简单的控制器,其中还包括一个服务。该服务返回一个 json。现在,我的问题是,当我通过控制器调用请求函数并打印出结果时,我得到所有对象两次。
这是我现在的代码:
angular.module('clientApp')
.factory('RequestService', ['$http', function($http){
function getData() {
return $http.get('../../mockdata/data.json')
}
return {
getData: getData
};
}])
.controller('MainCtrl', ['RequestService', function(RequestService) {
var data = [];
RequestService.getData()
.success(function(allData) {
data = allData[0];
console.log(allData)
})
}]);
json:http://pastebin.com/dTcNDQeA
我猜,问题肯定出在 .success 附近,但具体原因我找不到。
我的解决方案:最后,当我将一个函数包裹在控制器中的服务调用周围时,它对我来说很好。仍在弄清楚,为什么。
【问题讨论】:
-
有趣。我敢打赌控制器被初始化了两次。如果你把
console.log('hi')放在控制器里,它会调用两次吗? -
真的!一段时间后修复它:)
标签: javascript angularjs angular-services angular-controller