Belgeye göre burada: http://documentcloud.github.com/backbone/#FAQ-events koleksiyonu, sunucuyla koleksiyonu senkronize etmek için bir şey yaptığımda eşitleme olayına neden oluyor. Koleksiyonda getirme yöntemini çağırmaya çalışıyorum ve senkronizasyon etkinliğini beklemeyi deniyorum, ancak asla gerçekleşmeyecek. Etkinlik ekle, ancak koleksiyondaki tüm öğeleri senkronize ettikten sonra ilgili görünümü güncellemek için yalnızca bir etkinliğe ihtiyacım var. Bu olayı tetiklemenin başka bir yolu var mı?Koleksiyondaki Backbone.js eşitleme olayı
cevap
"Eşitleme" olayının yalnızca bir modeli değiştirdiğinizde tetiklendiğine inanıyorum. Dolayısıyla, bir modeli oluşturursanız, günceller veya silerseniz, "senkronizasyon" etkinliği tetiklenir.
Sizin durumunuzda, koleksiyondaki "sıfırlama" olayını dinlemek istediğinizi düşünüyorum.
Düzenleme: {add:true}
seçeneğini ayarlıyorsanız, tüm modeller eklendikten sonra tetiklenecek tek bir Backbone olayı yoktur.
- Sadece
add
olayı dinlemek ve o_.debounce()
fonksiyonu kullanılarak debounced edilmiş bir işleyici kullanarak tek bir etkinliği taklit defalarca - çağrılabilir bekliyoruz: Birkaç seçenek var.
fetch()
'dan dönüş değeri, jQuery XMLHttpRequest nesnesidir. jQuery Deferred arabirimini uygular. Böylece bu işi dinleyebilirsin. Örneğin:myCollection.fetch({add:true}).done(function(){ myView.render(); //or whatever });
çözüm yöntemi almak için parametre olarak geçirilen 'başarı' geri arama maunually senkronizasyon olayı yangın etmektir.
this.collection.fetch({add: true, success: function(collection, response){
collection.trigger('sync');
}});
Omurgadan dolayı 0.9.9 senkronizasyon tetikleme eklendiğinde başarıya geri dönüş artık gerekli değildir. Backbone.sync içindeki http://backbonejs.org/#changelog Consolidated "senkronizasyon" ve "hata" olaylarından. Şimdi başarı veya hata geri çağrılarının varlığından bağımsız olarak tetiklenirler. –
- 1. Backbone.js Koleksiyondaki öğeleri karıştırmak
- 2. Backbone.js text change olayı
- 3. backbone.js click olayı tetiklenmiyor
- 4. backbone.js basit görünüm olayı tetiklenmiyor
- 5. backbone.js Olay
- 6. backbone.js
- 7. Koleksiyondaki öğeler toplamı
- 8. Koleksiyondaki tüm öğelerin Scala
- 9. Koleksiyondaki tüm öğelerin
- 10. backbone.js olayları ve el
- 11. backbone.js tetikleyici olayları render()
- 12. Visual Studio projesini eşitleme
- 13. Verileri Eşitleme Çoklu AsyncTask,
- 14. Moq ile eşitleme kümeleri
- 15. İki veritabanı arasında eşitleme
- 16. uyarlamasıEngrasyon ve eşitleme
- 17. backbone.js https
- 18. backbone.js modelleri
- 19. Watir bir koleksiyondaki öğeleri bulamıyor
- 20. Koleksiyondaki tüm alt belgeleri al
- 21. MongoDB'deki büyük koleksiyondaki dizinin kaldırılması
- 22. WPF Koleksiyondaki belirli öğelere bağlanma
- 23. linq alt koleksiyondaki öğelerden seçim
- 24. MongoDB'deki bir koleksiyondaki özyinelikli arama
- 25. Koleksiyondaki bir nesnenin değerini alma
- 26. Nesne Düzeninde Eşitleme Engelini Görmüyor
- 27. Android uygulamasıyla REST hizmetini eşitleme
- 28. Periyodik eşitleme gerçekleştirilirken hata oluştu
- 29. Sayısal listeyi tuple listesiyle eşitleme
- 30. İki dizge arasında eşitleme eşleşmesi?
Sıfırla olayını çağırmak istemiyorum, çünkü add: true parametresi ile getirmeyi çağırıyorum. –