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