Görünüm değiştiğinde, bir olayı nasıl açılı ateş açacağını bilen var mı? Ya da bir görünüm talep edildiğinde ve indirildiğinde? Sayfalar değiştiğinde yükleme animasyonları eklemeyi deniyorum.Bir görünümün değiştiğini görmek için bkz. Angularjs
cevap
this thread'a bir göz atın, bu tür şeyleri eklemek için $httpProvider.responseInterceptors
gibi görünüyor.
This fiddle ajax istekleri için bir döndürücüyü başlatmak/durdurmak için kodun nereye ekleneceği konusunda iyi bir örnek gösterir. This fiddle benzer ancak aslında bir 'Yükleme ...' divini gösterir ve gizler.
yalnızca görünümleri content-type
this postapplication/json
gösterileri ne benzer text/html
eşit olduğunda Sizin/sizin başlangıç sınırlamak kodunu durduramaz değiştirdiğinizde bir değer değiştirici göstermek istiyorsanız
Not: Testlerimde, spinnerFunction
'daki headersGetter()['Content-Type']
, .html dosyaları alırken göz ardı edilirken servis çağrıları yapılırken doldurulur.
AngularJS $http.pendingRequests.length
çağrısını kullanmak daha kolay, uyarlanabilir bir yaklaşım olacağını düşünüyorum. Bekleyen ajax çağrı sayısını döndürür. Yani, 0
ulaştığı zaman, sayfa yükleme işlemi bitti.
Herhangi bir öğeye bir yükleme div (scrim) ekleyen bir yönerge oluşturabilir ve daha sonra tüm ajax çağrılarının çözülmesini ve daha sonra döndürücünüzün çıkarılmasını bekleyebilirsiniz.
// 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 belgelenmemiş, unutmayın:
İşte angularjs yönergesine yapmak için kod bir et.
Teşekkürler bunun için teşekkürler! ~ – matsko
Her zaman :) Sadece birkaç saat boyunca başımı çarptım ve paylaşacağımı düşündüm. – Stone
BTW ayrıca 'setTimeout' kullanılmadan aynı etkiyi elde etmek için' $ scope. $ Watch' kullanabilirsiniz. Bu, kapsam kapsamı sindirimleriyle birlikte ilerlediğinden daha iyi bir seçim olacaktır. Bu eklentiyi de kullanabilirsiniz, ancak işiniz bittiğinde manuel olarak "$ scope.onReady()" işlevini çağırmanız gerekir. https://github.com/yearofmoo/AngularJS-Scope.onReady – matsko
- 1. PHP, 2d dizisinin örnek diziyle eşleşip eşleşmediğini görmek için bkz.
- 2. Kullanıcı değiştiğini saptamak için Javascript sekmesi
- 3. Visual Studio'da değiştirmeden/TFS'ye aktarmadan önce neler değiştiğini görmek mümkün mü? (Git Diff Gui)
- 4. Yap filigran (bkz oyun için bir dinleyici olmak ve stop
- 5. Yükleme görünüm sorunlarını görmek için - angularjs + ui.router (güncellendi) başka bir görünümden görüşlerini yüklerken (görünümlerde)
- 6. Başka bir görünümün içinde görünümün karesi nasıl alınır?
- 7. Neden stdio'nun değiştiğini gdb görmüyor?
- 8. Başka bir görünümün içine bir görünüm yükleyin
- 9. Bir dosyayı görmek için test etmenin hızlı bir yolu nedir?
- 10. Başka bir kullanıcıdan veri görmek için bir kullanıcının erişimini engelleyin
- 11. değiştiğini nasıl tek özellikleri güncellemek için - Spring MVC
- 12. Kontrol edilip edilmediğini görmek için onay kutularını çağırma veya alma olup olmadığını görmek için 5.2
- 13. Bir Aktör için görünümün devre dışı bırakılması nasıl ayarlanır
- 14. Android Hangi Kişinin değiştiğini nasıl tespit edersiniz?
- 15. Nasıl göründüğünü başka bir görünümün altına yerleştiren başka bir görünümün altına yerleştirme
- 16. Gitmeden önce dosyada nelerin değiştiğini nasıl görebilirim?
- 17. findSymfony2 ile ilgili tüm şartları görmek için
- 18. Tüm şubelerin listesini görmek için Wildcard
- 19. Wireshark'ı HTTPS trafiğini görmek için nasıl yapılandırabilirim?
- 20. UserInfo geçerken Evet işlevi görmek için tıklayın
- 21. Daha fazla bilgi için bkz. Kullanıcı - Yay Güvenliği
- 22. pdb, kaynağın çalışma arasında değiştiğini nasıl anlar?
- 23. Emacs'e git dalımın nasıl değiştiğini nasıl anlarım?
- 24. npm diğer öğeleri görmek için tıklayın
- 25. Nerede CLION en İstisna Mesajları görmek için
- 26. Bir Görünümün başka bir görünümün altına gizlenmesini ve daha sonra bu görünümden animasyon uygulamak için nasıl Görüntülenecek
- 27. Yüklemeden kısmi görünümün kaldırılması
- 28. Görünümün Sütunları Seç
- 29. JTextPane değerinin değiştiğini hangi dinleyici biliyor olabilir?
- 30. anahtar bir dize içine varsa Algoritma görmek için
Mükemmel. Sadece ihtiyacım olan şey. Teşekkür ederim :) – matsko
Bu sadece tek bir ajax isteğiniz varsa çalışır. – Meeker
Bu akım 1.2 için mi? – ericpeters0n