为什么我的骨干.js集合重置只是添加 1 个模型

Why my backbone.js collection reset is only adding 1 model

本文关键字:添加 模型 我的 js 集合 为什么      更新时间:2023-09-26

有问题的集合抓取了一堆朋友,然后它使用reset来保存所有新的朋友。我遇到的问题是,它只在集合中添加了 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));
    }
});

使用开发人员工具检查模型后,模型看起来不错。

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

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