无法捕获Backbone Collection重置事件

时间:2013-05-14 07:59:40

标签: web-services backbone.js collections

我偶然发现了一些非常奇怪的事情

我正在获取一个集合,并正在侦听重置事件,但不知何故事件已丢失

我有这个最小的例子:

$(function() {
  var collection = new Backbone.Collection();
  collection.url = 'http://localhost:9000/api/Usuario';
  collection.on('reset', function() {
    console.log('collection reset!');
  });
  collection.fetch();
});

检查网络我可以看到请求是成功的,Web服务返回json数据

但是没有办法执行cosole.log('collection reset!')回调。

我必须有一些非常愚蠢的东西......

1 个答案:

答案 0 :(得分:1)

来自Backbone documentation

It uses set to (intelligently) merge the fetched models, unless you pass {reset: true},

所以我想,使用它可以解决你的问题。

collection.fetch({
    reset: true,
    success: function() {
        // Do Something
        // This is called when all add, remove and update operations have been done
    }
});