我相信,在此过程中,我的 Backbone 集合没有正确存储它们的模型。我还使用骨干分页来分页集合,我的骨干应用程序基于https://github.com/alessioalex/ClientManager和一些骨干教程。
基本上,据我了解,Backbone Collections 应该有一个模型属性,即:
Object
models: Array
0: Object
model
model, etc
但我的似乎有这样的结构:
Object
models: Array
0: Object
attributes: Object
tasks: Array (from my server JSON response)
total_match, etc (other variables for pagination)
因此,在我的模板中,我总是必须使用 tasks[0].each 而不仅仅是 tasks.each
这也意味着,在将模型添加到集合时,它们不会添加到任务中的模型数组中,而是 Backbone 在模型中创建了另一个数组,这样它就变成了:
Object
models: Array
0: Object
attributes: Object
tasks: Array (from my server JSON response)
total_match, etc (other variables for pagination)
1: Object
(new model attributes)
这意味着我的模板代码,搜索任务 [0] 没有拿起它。这也意味着对于我的集合,我不能使用 collection.get(id),它什么也不返回 - 即使使用正确的 ID 并为模型指定了 IDAttribute。
我有点难过。