Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 对我的集合调用fetch会实例化它在主干中接收的所有模型吗?_Backbone.js - Fatal编程技术网

Backbone.js 对我的集合调用fetch会实例化它在主干中接收的所有模型吗?

Backbone.js 对我的集合调用fetch会实例化它在主干中接收的所有模型吗?,backbone.js,Backbone.js,我的主干应用程序中有以下代码: app.Collections.quotes = new app.Collections.Quotes(); app.Collections.quotes.fetch(); 我可以在“网络”选项卡中看到返回的对象数组,但当我展开集合时,其中的模型数组为0。在新集合上运行fetch()时,它们是否被实例化为模型 这是我的收藏: app.Collections.Quotes = Backbone.Collection.extend({ model: app.Mo

我的主干应用程序中有以下代码:

app.Collections.quotes = new app.Collections.Quotes();
app.Collections.quotes.fetch();
我可以在“网络”选项卡中看到返回的对象数组,但当我展开集合时,其中的模型数组为0。在新集合上运行fetch()时,它们是否被实例化为模型

这是我的收藏:

app.Collections.Quotes = Backbone.Collection.extend({
  model: app.Models.Quote,
  url: function() {
    return app.Settings.apiUrl() + '/quotes';
  }
});
编辑:

在我的模型中:

idAttribute: 'Number',
这就是解决办法!谢谢你的帮助。Dan在注释中给我指出了正确的方向…

调用集合上的
fetch()
尝试将JSON响应填充到模型中:

您的服务器是否确实返回了一个有效的JSON对象数组

您的报价模型是否经过验证?我非常确定主干在填充集合之前会验证每个模型,只填充通过的模型。因此,如果存在,请检查您的
Model#validate
方法是否正常工作


您不应该需要ID(尽管如果要编辑它们,显然需要ID)。

fetch
应该创建新的模型实例。。。你有来自网络选项卡的数据,可能还有一些模型代码吗?@Matt如果返回的对象没有“id”键,我猜集合Fetch()无法将它们实例化为模型?我假设你只是在获取后立即控制台日志。。。等待集合重置事件,然后检查它
idAttribute: 'Number',