[解決済み] ajaxリクエスト時にAngularjsのローディング画面が表示される。
2022-02-11 13:05:24
質問
Angularjsを使用して、ajaxリクエストが完了するまでローディング画面(簡単なスピナー)を表示する必要があります。コードスニペットで何かアイデアを提案してください。
解決方法は?
データの読み込み状況を示すスコープ変数を設定する代わりに、ディレクティブがすべてを行うようにするのがよいでしょう。
angular.module('directive.loading', [])
.directive('loading', ['$http' ,function ($http)
{
return {
restrict: 'A',
link: function (scope, elm, attrs)
{
scope.isLoading = function () {
return $http.pendingRequests.length > 0;
};
scope.$watch(scope.isLoading, function (v)
{
if(v){
elm.show();
}else{
elm.hide();
}
});
}
};
}]);
このディレクティブにより、すべてのローディングアニメーション要素に 'loading' 属性を与えるだけでよいのです。
<div class="loading-spiner-holder" data-loading ><div class="loading-spiner"><img src="..." /></div></div>
ページ上に複数のロードスピナーを置くことができます。どこでどのようにスピナーをレイアウトするかはあなた次第で、ディレクティブは単にあなたのためにそれを自動的にオン/オフします。
関連
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] ag-gridの行の追加/削除
-
[解決済み] controllerAs "プロパティを使用する理由は何ですか?
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] クラスを条件付きで適用する場合の最適な方法は何ですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] AngularJS 。非同期データでサービスを初期化する
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】typeerrorは、未定義のプロパティ'data'を読み取ることができません。
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] プリフライト応答が成功しない
-
[解決済み] angularのpostリクエストでpreflightのレスポンスがHTTPステータスコード403で不正になる。
-
[解決済み] controllerAs "プロパティを使用する理由は何ですか?
-
[解決済み] createspyとcreatespyobjの違いは何ですか?
-
angularjs が src で指定されたコンテンツを iframe 内で正しく表示しない
-
角型グローバル確認ボックス
-
[解決済み] なぜAngularJSはselectに空のオプションを含めるのですか?
-
[解決済み] ng-repeat :単一フィールドによるフィルタリング