ionicであれば、ローディング画面はすごく簡単に実装できます
$ionicLoadingを使えば、簡単に
おしゃれなローディングの画面の出来上がりです。
通信開始の時に
$ionicLoading.show({content: 'Loading',animation: 'fade-in',});
って書くだけです。ローディング画面を消すには
$ionicLoading.hide();
これだけ。通信失敗時や通信完了時に書いてあげるだけ。
angular JS + bootstrapでも、bootstrapに似たようなのがあるんだろうと
考えていましたが甘かった。無いのです。
仕方ないので、ローディングのプラグインをいくつか試してみたが、
何故か動かない。
動かなかったLoading系プラグイン
darthwade/angular-loading
Angular Loading Overlay
まぁ、環境にもよるんでしょう。私の環境では動かなかっただけかも知れません。
色々探しているうちに見つかったのが
Angular Loading Barです。
ローディングの、バーです。
画面上部にバーが表示されて、にょきにょきと伸びていきます。
存在がちょっと薄いので、もう少し派手にしたい。
せめて画面中にLoading と表示するか、spinnerでクルクル表示したい
ということでマニュアルを読み進めると、カスタムすることができるということを発覚
LoadingBarマニュアル
ちょこっといじってこんなローディング画面にしてみた
上にバーが表示されるので、ローディングのグルグルは入れませんでした(じつはめんどくさかっただけなのは内緒)
おしゃれなローディングの出来上がりです(おしゃれ?
肝心のソース
//ローディングバー loading-bar オプション
.config(function(cfpLoadingBarProvider) {
cfpLoadingBarProvider.includeSpinner = true;
cfpLoadingBarProvider.includeBar = true;
cfpLoadingBarProvider.spinnerTemplate = "<div class='urasuke'><h2 >Loading</h2><p>please wait</p></div>";
})
CSSの記述は次の通り
.urasuke{
position:absolute;
top:0;left:0;
background:#fff;
opacity:0.5;
width:100%;
height:300%;
z-index:0;
color:red;
text-align:center
}
高さ300%あたりがやっつけ感満載ですねw
そして、ローディング画面の表示ですが、実はloading-barは何もしなくてOKです。
$http通信が始まると勝手にローディング画面が表示されて、
通信が終了すると勝手に止まります。
動作サンプル
日報クラウドnipoで使ってます(というかnipoのコードを紹介しています)
nipoを起動してみる
アカウントは取得しないでも試せます。
「フリーIDで使用してみる」を押せば、勝手にログインして、ローディング画面がみれることでしょう
プラグインのインストール
bowerがあればめちゃ簡単
CLIから
bower install angular-loading-bar
と叩くだけです。
この辺はyeoman+bower+gruntの環境準備が必要ですが、
一度構築しちゃえばプラグインの導入が楽になります。
まるで壁のプラグにコンセントを刺すような感じで使えます。

