骨干取回触发成功,但返回零长度

  • 本文关键字:返回 成功 backbone.js fetch
  • 更新时间 :
  • 英文 :


我是新来的骨干。如果这个问题之前有人回答过,请原谅。我试着用谷歌搜索,但找不到答案。

window.InfoCollection = Backbone.Collection.extend({
    model:InfoModel,
    url:"../api/info",
      parse: function (response) {
        console.log("In Parse" + response.length)
        return response;
    }
});

返回长度为1

但是这里显示为0

    this.InfoCollection.fetch({success:function(){console.log(this.length)}});

因此,当我用infommodel初始化一个视图时,它失败了。

有没有专家能给我指出正确的方向?

From the fine manual:

parse collection.parse(response, options)

[…函数被传递给原始的response对象,并且应该返回要添加到集合中的模型属性数组。

显然你在response中得到了预期的数组(长度为1),但你的parse只返回第一个元素:

return response[0];

但是集合期望得到一个对象数组(每个模型一个对象)而不是单个对象。结果是你最终得到一个空集合,因为你没有给它任何它可以加载的东西;空集合的长度为0,这就是你所看到的

你可能想让你的parse看起来像这样:

parse: function (response) {
    console.log("In Parse" + response.length)
    return response;
}

这只是默认的parse实现和一个console.log调用,所以你可能不需要它。

相关内容

  • 没有找到相关文章

最新更新