Kar*_*ora 6 javascript javascript-events backbone.js
根据这里的文档:http://documentcloud.github.com/backbone/#FAQ-events集合在我执行与服务器同步集合的操作时触发了同步事件.我尝试在集合上调用fetch方法并在其上等待同步事件,但它永远不会发生.触发添加事件,但在同步集合中的所有项目后,我只需要一个事件来更新相应的视图.还有另一种方法可以解雇这个事件吗?
解决方案是在作为param传递给fetch方法的'success'回调函数中激活同步事件.
this.collection.fetch({add: true, success: function(collection, response){
collection.trigger('sync');
}});
Run Code Online (Sandbox Code Playgroud)
我相信只有当您更改模型时才会触发“同步”事件。因此,如果您创建、更新或删除模型,则会触发“sync”事件。
就您而言,我认为您想监听集合上的“重置”事件。
编辑:如果您设置该{add:true}选项,则在添加所有模型后不会触发单个 Backbone 事件。您有几个选择:
add事件并期望它被重复调用_.debounce()函数去抖的处理程序来模拟单个事件。返回值fetch()是一个 jQuery XMLHttpRequest 对象。它实现了jQuery Deferred接口。所以你可以听听那个结尾。例如:
myCollection.fetch({add:true}).done(function(){
myView.render(); //or whatever
});
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
13449 次 |
| 最近记录: |