私は完璧に機能する次のソリューションを開発しました。
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-view のすぐ上に配置します。id="ui-view" を ui-view div に追加します。
<div class="page-loading">Loading...</div>
<div ui-view id="ui-view"></div>
3. 以下を CSS に追加します。
.hidden {
display: none !important;
visibility: hidden !important;
}
ノート:
A. 上記のコードは、2 つのケースで読み込みインジケーターを表示します。
B.Angular アプリが最初にロードされるとき (ビューがロードされる前) にインジケーターを表示したくない場合は、以下のように非表示のクラスをロード div に追加します。
<div class="page-loading hidden">Loading...</div>