I want to show a loader before any api call, after getiing response hide the loader.It should be like generic, i have tried inspector that is not working for me.
Asked
Active
Viewed 1,100 times
0
-
1look at http://stackoverflow.com/questions/17144180/angularjs-loading-screen-on-ajax-request – Jigarb1992 Dec 22 '16 at 13:12
2 Answers
0
You could use angular-loading-bar, it uses interceptors to show a loading bar as long as there is pending requests.

ChrisK
- 44
- 8
0
Create loader using directive. Add a parent to the loader element.
loader.directive.js
app.directive('loaderDir', function(){
return{
restrict: 'AE',
scope:{},
template: 'loader template here.......',
}
})
index.html
<body>
<div loader-dir class="loader-holder" id="loader-holder"></div> //better make this as last child
</body>
styles.css
.loader-holder{
display: none;
}
.loader-show{
display: inline-block;
}
ajaxCall.service.js
function makeRequest(){
//when you are going to make request, show loader that means addClass `loader-show`
angular.element(document.getElementById('loader-holder')).addClass('loader-show');
$http.get(url).then(function success(response){
// on successful response, hide loader that means removeClass `loader-show`
angular.element(document.getElementById('loader-holder')).removeClass('loader-show');
})
}

Mr_Perfect
- 8,254
- 11
- 35
- 62