有问题的集合抓住一堆朋友,然后它使用reset
保存所有新朋友。我遇到的问题是,它只为该集合添加了1个朋友。为什么我的backbone.js集合重置仅添加1个模型
我在cModels
上做了一个console.log
,它在数组中显示了超过300个对象,所以我知道不仅有1个。复位只会加1的任何原因?
下面是我收集:
FriendsCollection = Backbone.Collection.extend({
model: UserModel,
getFriends: function() {
$.post(baseUrl + dataFriendsUrl, $.proxy(function(data) {
var friends = $.parseJSON(data);
var cModels = [];
for(var key in friends.data) {
var user = new UserModel();
user.set({
fbid: friends.data[key].id,
username: friends.data[key].name
});
cModels.push(user);
}
this.reset(cModels);
console.log(this);
}, this));
}
});
,这些模型看起来很好,与开发工具检查他们之后。
骨干的collection.reset只是重置集合,然后调用collection.add传递给它的任何东西。当你遇到问题时添加相当不错,所以我很惊讶你没有看到任何问题。添加的实际行是'splice.apply(this.models,[index,0] .concat(models));'。您可能想尝试在它之前添加一个'debugger'或'console.log(this.models,models,index)'行,以查看您的整套模型是否正在实现这一点。 – machineghost 2012-07-06 21:20:09