我喜歡在每次請求完成時顯示警告框。爲了縮短我的方式,我喜歡使用'Bootstrap Alert'。似乎沒有辦法訪問工廠內的任何範圍。我怎麼能認識到這樣的事情?AngularJS Http攔截器,顯示引導警報
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方法來引發一個事件,並在一些控制器中捕獲它以顯示更晚的事件。 – Chandermani