2012-07-09 72 views
1

我试图通过获取骨干来初始化集合,我有这个在我看来:Backbone.js获取集合没有设置模型值?

initialize: function() 
{ 
    _.bindAll(this, 'render', 'addItem', 'appendItem'); 

    this.collection = new MembersCollection(); 

    this.collection.bind('add', this.appendItem); 

    this.collection.fetch({success: _.bind(function(blah) 
    { 
     console.log(blah); 

     this.render(); 

    }, this)}); 
} 

这似乎是工作,我得到一个成功的响应,正确数量的模型,它为每个模型呈现正确数量的视图,但是,如果我检查model.attribute值,它只包含我的默认值,并且没有来自服务器的值?

如果我检查我的JSON响应,我确实在那里看到正确的数据,有什么我可能错过了需要获取数据设置?

+0

我可以有你的JSON收集数据吗?为'fetch'方法提供'success'和'error'回调以查看被调用的内容。 – Deeptechtons 2012-07-09 05:00:14

+0

你可以发布你的收藏和模型代码。可能听起来很愚蠢,但是你是否在你的收藏中引用了你的模型?你发布的代码越多,我们就越容易提供帮助。 – TYRONEMICHAEL 2012-07-09 09:01:57

回答

2

我想我最近有一个类似的问题..从模型定义中删除我的默认值解决了这个问题,我不需要它,所以留在那。我认为,也许,如果你定义了默认值,那么你需要包含你要设置的所有属性..但是不要引用我的内容..尝试它没有默认值,看看它是如何去。如果你仍然有问题,你可能会想给我们你的模型定义和响应中返回的json样本。

0

我有同样的问题 - 我的模型的解析方法造成的。

当为集合的获取调用返回的数组中的每个项目创建模型时,调用模型的分析方法。

从直接模型获取返回的json/object与集合的返回数组中的json/object不同 - 这导致我的模型的分析方法在从数组项目创建时返回undefined。