【发布时间】:2023-03-12 13:28:01
【问题描述】:
我喜欢在每次请求完成时显示一个警告框。为了缩短我的方式,我喜欢使用“引导警报”。似乎无法访问工厂内的任何范围。我怎么能意识到这样的事情?
app.factory('httpInterceptor', function ($q) {
return {
// On request success
request: function (config) {
$scope.alerts.push({msg: "Request done !"}); //There is no scope
return config || $q.when(config);
},
// On request failure
requestError: function (rejection) {
return $q.reject(rejection);
},
// On response success
response: function (response) {
return response || $q.when(response);
},
// On response failure
responseError: function (rejection) {
return $q.reject(rejection);
}
};
});
请参阅http://angular-ui.github.io/bootstrap/ 上的警报示例
【问题讨论】:
-
我想你可以在这里注入$rootScope。试试看。使用 $rootScope.$broadcast 方法引发事件并在某些控制器中捕获它以显示稍后。
标签: javascript angularjs