12

有问题的集合抓住了一堆朋友,然后它reset用来保存所有新朋友。我遇到的问题是它只向集合中添加了 1 个朋友。

我做了一个console.logcModels它在数组中显示了 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));
    }
});

在使用开发人员工具检查模型后,模型看起来很好。

4

1 回答 1

28

这可能是因为模型具有相同的 id。

Backbone 集合不允许具有重复 id 值的模型。(请参阅此提交

于 2012-07-06T21:16:01.350 回答