0

我有这个收藏

var Product = Backbone.Model.extend({
           urlRoot:'/api/products',
           idAttribute:'id'
        });
    var Products = Backbone.Collection.extend({
        model:Product,
        url : '/api/products/'
    });

我从服务器获取模型

var products = new Products();
products.fetch();

在某个时刻,我更改了服务器上的数据并希望“产品”拥有新数据(更新集合)。我尝试过这样的事情

products.reset()
products.fetch()

但是这个产品在空了之后。请帮帮我

4

2 回答 2

0

这可能是因为您在products服务器有时间返回数据之前检查了 的内容。检查回调products是否仍然为空:success

products.fetch({
    success: function() {
        console.log(products.toJSON()); //is it still empty here? 
    }
});
于 2013-10-02T12:35:57.070 回答
0

服务器可能没有及时响应。重置数据的正确方法是

products.fetch({reset: true}).success(function(response){
  // update the view here if necessary
})
于 2013-10-02T12:43:49.443 回答