0

我偶然发现了一些很奇怪的东西

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

我有这个最小的例子:

$(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!') 回调。

一定有什么很愚蠢的东西我错过了......

4

1 回答 1

1

来自Backbone 文档

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
    }
});
于 2013-05-14T08:08:58.187 回答