ビューが変更されたときに角射撃を行う方法を知っている人はいますか?または、ビューが要求され、ダウンロードされたときには正しいでしょうか?私は、ページが変更されたときの読み込みアニメーションを追加しようとしています。anglejsでビューが変更されたときを確認するトラック
答えて
this threadを見てみると、$httpProvider.responseInterceptors
のようなものがこのタイプのものを追加するのに適しています。
This fiddleは、ajaxリクエストのスピナーを開始/停止するコードを追加する場所の良い例を示しています。 This fiddleは似ていますが、実際には[Loading ...] divを表示して非表示にします。
あなただけのビューがcontent-type
がthis postがapplication/json
で示したものと同様のtext/html
に等しいときあなたがあなたのスタート/ストップコードを制限することができます変更したときにスピナーを表示したい場合。
注:私のテストでは、spinnerFunction
のheadersGetter()['Content-Type']
は、.htmlファイルを取得するときに省略されていますが、サービスコールを行うときには埋め込まれています。
私ははるかに簡単で、適応可能なアプローチは、AngularJS $http.pendingRequests.length
コールを使用することだと思います。保留中のajax呼び出しカウントを返します。したがって、0
に達すると、ページが読み込まれます。
すべての要素にロードdiv(scrim)を挿入し、すべてのAjax呼び出しが解決されてスピナーを削除するのを待つディレクティブを作成できます。ここで
は、あなたのAngularJSディレクティブを作成するコードの肉です:
// Prepend the loading div to the dom element that this directive is applied.
var scrim = $('<div id="loading"></div>');
$(scrim).prependTo(domElement);
/**
* returns the number of active ajax requests (angular + jquery)
* $.active returns the count of jQuery specific unresolved ajax calls. It becomes 0 if
* there are no calls to be made or when calls become finished.
* @return number of active requests.
*/
function totalActiveAjaxRequests() {
return ($http.pendingRequests.length + $.active);
}
/**
* Check for completion of pending Ajax requests. When they're done,
* remove the loading screen and show the page data.
*/
scope.$watch(totalActiveAjaxRequests, function whenActiveAjaxRequestsChange() {
if(totalActiveAjaxRequests() === 0){
$log.log("done loading ajax requests");
$(scrim).remove();
$(domElement).css("position", "inherit");
}
});
$ .activeが文書化されていないで、注意してください。
ありがとうございます!〜 – matsko
いつでも:)私はちょうどこれに数時間の私の頭を叩いて、私は共有するだろうと思った。 – Stone
あなたは 'setTimeout'を使わずに同じ効果を達成するために' $ scope。$ watch'を使うこともできます。これは$ scopeダイジェストと一緒になるので、これは良い選択です。このプラグインを使用することもできますが、完了したら '$ scope.onReady()'を手動で呼び出す必要があります。 https://github.com/yearofmoo/AngularJS-Scope.onReady – matsko
- 1. 変数が変更されたときの確認
- 2. スウィフト - ビューを変更するときに確認する
- 3. anglejsでスコープ変数が変更されましたが、ビューは変更されません
- 4. プロパティが変更されたことを確認しました
- 5. IListが変更されたことを確認しますか?
- 6. iframeがロードされているときに変更が選択されたときに確認する
- 7. Angular2:変数が変更されたときにビューが更新されない
- 8. ファイルが変更されたかどうかを確認する
- 9. jQueryで入力フィールドが変更されたことを確認する方法
- 10. モデルが変更されたときのビューの更新
- 11. CSSの変更:チェックボックスがチェックされたときに疑似クラスを確認
- 12. ディレクティブ内でスコープが変更されたときに更新されないビュー
- 13. iOS Chromecast SDKで字幕トラックや音声トラックが変更された場合は検出できますか?
- 14. git:ブランチ上で変更されたファイルを確認する
- 15. prePersist()で値が変更されたかどうか確認できますか?
- 16. データが変更されたときにAngular2ビューが更新されない
- 17. 状態が変更されたときの値の確認方法は?
- 18. knockoutjsでプロパティにバインドすると、プロパティが変更されたときにビューが更新されます。
- 19. ラジオボタンが変更されたイベントの変更を2回確認しました
- 20. UserControlコレクションプロパティがデザイン時に変更されたことを確認する方法?
- 21. 変数の値が変更されたときは、どのように確認できますか?
- 22. Swift:サブビューが追加されたときにビューのフレームが変更される
- 23. ビューで選択されたチェックボックスの数を確認する
- 24. 2つの配列が更新されたときのanglejsコールウォッチ
- 25. データベースが変更されたときにAsp mvc updateビュー
- 26. WPF - 親ビューの幅が変更されたときにコールバック
- 27. ボタンがタッチされたときのビューの変更
- 28. Angular UI Bootprap datepicker、ビューが変更されたときのコールバック
- 29. 変更されたFormCollectionの値を確認する
- 30. FluentValidation:変更されたプロパティのみを確認する
パーフェクト。ちょうど私が必要なもの。ありがとうございました:) – matsko
これは、単一のajaxリクエストがある場合にのみ機能します。 – Meeker
これは現在1.2ですか? – ericpeters0n