感谢Steve的提示,我得以实现加载程序:
拦截器:
.factory('httpInterceptor', function ($q, $rootScope, $log) { var numLoadings = 0; return { request: function (config) { numLoadings++; // Show loader $rootScope.$broadcast("loader_show"); return config || $q.when(config) }, response: function (response) { if ((--numLoadings) === 0) { // Hide loader $rootScope.$broadcast("loader_hide"); } return response || $q.when(response); }, responseError: function (response) { if (!(--numLoadings)) { // Hide loader $rootScope.$broadcast("loader_hide"); } return $q.reject(response); } };}).config(function ($httpProvider) { $httpProvider.interceptors.push('httpInterceptor');});指示:
.directive("loader", function ($rootScope) { return function ($scope, element, attrs) { $scope.$on("loader_show", function () { return element.show(); }); return $scope.$on("loader_hide", function () { return element.hide(); }); };})CSS:
#loaderDiv { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 1100; background-color: white; opacity: .6;}.ajax-loader { position: absolute; left: 50%; top: 50%; margin-left: -32px; margin-top: -32px; display: block;}HTML:
<div id="loaderDiv" loader> <img src="src/assets/img/ajax_loader.gif" /></div>



