私はアプリケーションワイドのローディングバーを実装しようとしています。ユーザーがアプリケーションのリンクをクリックしてデータをダウンロードしている最中にローディングバーが表示されるようにします。このようなAngular2 RC1ローディングインジケータを実装するための最善のアプローチ
何か:現在
http://chieffancypants.github.io/angular-loading-bar/
、私がやったことはブール型プロパティ、isLoadingグローバルシングルトンサービスを追加されます。私の主なアプリコンポーネントのテンプレートでは、角度material2プログレスバーを追加しました。
<md-progress-bar mode="indeterminate" *ngIf="_globalService.isLoading"></md-progress-bar>
ここで、httpリクエストを開始するたびに、そのコンポーネントのisLoadingプロパティをtrueに設定します。その要求が完了すると、私はそれをfalseに設定します。
私の現在のケースでは、すべてのコンポーネントにサービスを注入し、手動でisLoadingをtrueまたはfalseに設定する必要があります。
私は、アプリケーション全体ですべてのAjaxリクエストの開始と完了をキャプチャする方法があるのだろうかと疑問に思っていたので、これを購読して手動で処理する必要はありません。
しかし、私は受け付けており、あなたの返信のためにそんなにdfsqありがとう
可能なラッパーは、このような何かを見ることができます私は2番目のアプローチを試してみるとエラーが発生します。 エラー\t TS2322 \tタイプ 'Observable'は、タイプ 'Promise 'に割り当てられません。 'then'プロパティが 'Observable 'の型にありません。 –
エラー\t TS2415 \t 'HttpLoading'クラスは、基本クラス 'Http'を正しく拡張しません。 プロパティ 'get'の型は互換性がありません。 '(url:string、options?:RequestOptionsArgs)=> Promise'は '(URL:文字列、オプション?:RequestOptionsArgs)=> Observable 'のタイプに割り当てられません。 タイプ 'Promise 'はタイプ 'Observable 'に割り当てられません。 プロパティ '_isScalar'が 'Promise 'タイプにありません。 –
'get(url:string、options ?: RequestOptionsArgs):Observable {...}'で、 'rxjs 'から' import {Observable}'を追加する必要があります。 –
dfsq