12

問題のコレクションは、たくさんの友達を取得し、それを使用resetしてすべての新しい友達を保存します。私が抱えている問題は、コレクションに友達が 1 人しか追加されないことです。

console.logonを実行したcModelsところ、Array に 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 が同じであるためです。

バックボーン コレクションでは、id 値が重複するモデルは許可されません。(このコミットを参照)

于 2012-07-06T21:16:01.350 に答える