【问题标题】:Backbone.js fetching collection not setting model values?Backbone.js 获取集合而不设置模型值?
【发布时间】:2012-07-08 10:16:15
【问题描述】:

我正在尝试使用 fetch 在骨干网中初始化一个集合,我认为这是:

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 响应,我确实在那里看到了正确的数据,我可能错过了设置数据所需的任何内容吗?

【问题讨论】:

  • 我可以要你的 JSON 收集数据吗?为fetch 方法提供successerror 回调,以查看调用了什么。
  • 您能否发布您的收藏和型号代码。听起来可能很愚蠢,但是您是否在收藏中引用了您的模型?您发布的代码越多,我们就越容易提供帮助。

标签: jquery rest collections backbone.js underscore.js


【解决方案1】:

我想我最近遇到了类似的问题。从模型定义中删除我的默认值解决了这个问题,我不需要它,所以就这样吧。我认为,也许,如果你定义了默认值,那么你需要包括你要设置的所有属性。但不要引用我的话。在没有默认值的情况下尝试它,看看它是如何进行的。如果您仍然有问题,您可能希望向我们提供您的模型定义和响应中返回的 json 样本。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题——我的问题是由模型的 parse 方法引起的。

    原来模型的 parse 方法是在为集合的 fetch 调用返回的数组中的每个项目创建模型时调用的。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-30
      • 1970-01-01
      • 2013-07-10
      • 2011-10-31
      • 2011-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多