나는 나를 위해 완벽하게 작동하는 다음 솔루션을 개발했습니다.
1. 다음 app.run을 추가합니다.
app.run(function($rootScope){
$rootScope
.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
$("#ui-view").html("");
$(".page-loading").removeClass("hidden");
});
$rootScope
.$on('$stateChangeSuccess',
function(event, toState, toParams, fromState, fromParams){
$(".page-loading").addClass("hidden");
});
});
2. 로딩 표시기를 UI 뷰 바로 위에 놓습니다. ui-view div에 id = "ui-view"를 추가합니다.
<div class="page-loading">Loading...</div>
<div ui-view id="ui-view"></div>
3. CSS에 다음을 추가하십시오.
.hidden {
display: none !important;
visibility: hidden !important;
}
노트:
A. 위 코드는 1) 앵귤러 앱이 처음로드 될 때 2) 뷰가 변경 될 때 두 가지 경우에 로딩 표시기를 표시 합니다.
B. 앵귤러 앱이 처음로드 될 때 (뷰가로드되기 전) 표시기가 표시되지 않도록하려면 아래와 같이로드 div에 숨겨진 클래스를 추가 합니다.
<div class="page-loading hidden">Loading...</div>