有問題的集合抓住一堆朋友,然後它使用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