如何修改拦截器内的$scope
变量?
var portal = angular.module('portal', ['ngResource', 'ui.utils', 'ngRoute']).config(function($httpProvider) {
$httpProvider.interceptors.push(function($q) {
return {
responseError: function(rejection) {
if(rejection.status == -1) {
// i want to modify this variable to true / false
$scope.restApiServerOnline = false;
return;
}
return $q.reject(rejection);
}
};
});
});
上述代码的目的是拦截对REST服务器的所有HTTP post / get,如果失败,则切换此范围变量。
答案 0 :(得分:3)
我会在配置注入中包含function($httpProvider, $rootScope) {
,例如:
$rootScope.restApiServerOnline = false;
然后根据变量的上下文设置类似{{1}}的内容,无论如何,您似乎想要全局访问它。