根據doc在這裏:http://documentcloud.github.com/backbone/#FAQ-events集合有同步事件,當我做一些事情來同步收集與服務器。我嘗試在集合上調用fetch方法並等待它上的同步事件,但它從不發生。添加事件被觸發,但在同步集合中的所有項目以更新相應視圖後,我只需要一個事件。還有另一種方式來解決這個事件?集合中的Backbone.js同步事件
6
A
回答
2
我相信只有在更改模型時纔會觸發「同步」事件。因此,如果您創建,更新或刪除模型,則「同步」事件將觸發。
在你的情況下,我認爲你想聽集合上的「重置」事件。
編輯: 如果您正在設置{add:true}
選項,那麼在添加完所有模型後,不會有單個Backbone事件觸發。您有幾種選擇:
- 只聽
add
事件,並期望它被反覆 - 稱爲通過使用已使用
_.debounce()
功能去抖處理程序模擬一個事件。 fetch()
的返回值是一個jQuery XMLHttpRequest對象。它實現了jQuery Deferred接口。所以你可以聽完這個結束。例如:myCollection.fetch({add:true}).done(function(){ myView.render(); //or whatever });
5
的解決方案是在作爲PARAM抓取方法傳遞「成功」回調maunually火了同步事件。
this.collection.fetch({add: true, success: function(collection, response){
collection.trigger('sync');
}});
+1
作爲骨幹0.9.9添加成功回調同步觸發不再需要。來自http://backbonejs.org/#changelog在Backbone.sync中統一「同步」和「錯誤」事件。無論成功或錯誤回調的存在,它們現在都會被觸發。 –
相關問題
- 1. Backbone.js - 集合之間的「同步」模型
- 2. Backbone.js模型和集合同步
- 3. Backbone.js級聯集合和同步?
- 4. backbone.js收集事件
- 5. Python中的同步集合
- 6. Backbone.js的集合
- 7. Backbone.js - 無法觸發集合中的事件
- 8. Backbone.js:獲取回調中發生的事件集合
- 9. Backbone.js中的嵌套集合
- 10. backbone.js中的格式集合
- 11. 嵌套集合/ Backbone.js的中
- 12. Backbone.js中的分頁集合
- 13. 迭代backbone.js中的集合
- 14. Backbone.js的集合,其中
- 15. Backbone.js集合
- 16. 更正異步數據檢索時的Backbone.js收集事件
- 17. Backbone集合同步事件的性質是什麼?
- 18. Backbone.js:模型事件在集合中使用時未被觸發
- 19. backbone.js:在從集合中刪除事件後保留元素
- 20. 刪除模型集合和火災中刪除事件 - backbone.js
- 21. Backbone.js同步沒有觸發模型上的任何事件
- 22. 在backbone.js中緩存集合?
- 23. 在Backbone.js中使用集合
- 24. 在backbone.js中修改集合
- 25. 長壽backbone.js與重複添加事件的集合錯誤
- 26. Backbone.js的事件系統(模型和集合)
- 27. FabricJS中的同步事件
- 28. Backbone.js集合選項
- 29. backbone.js迭代集合
- 30. backbone.js清空集合
重置事件不適合我的需要,因爲我使用add:true參數調用fetch。 –