您总是可以将$
http包装在服务中。由于服务仅设置一次,因此您可以让服务工厂为您设置事件。老实说,这对我来说有点骇人听闻,但这是一个不错的解决方法,因为Angular尚无全局方法来执行此 *** 作,除非在1.0.3中添加了我不知道的内容。
这是一个工作的家伙
这是代码:
app.factory('httpPreConfig', ['$http', '$rootScope', function($http, $rootScope) { $http.defaults.transformRequest.push(function (data) { $rootScope.$broadcast('httpCallStarted'); return data; }); $http.defaults.transformResponse.push(function(data){ $rootScope.$broadcast('httpCallStopped'); return data; }) return $http;}]);app.controller('MainCtrl', function($scope, httpPreConfig) { $scope.status = []; $scope.$on('httpCallStarted', function(e) { $scope.status.push('started'); }); $scope.$on('httpCallStopped', function(e) { $scope.status.push('stopped'); }); $scope.sendGet = function (){ httpPreConfig.get('test.json'); };});
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)