जोड़ रहा है प्रश्न में संग्रह मित्रों के एक समूह पकड़ लेता है, और फिर इसे reset
का उपयोग करता है सभी नए दोस्त को बचाने के लिए। मेरी समस्या यह है कि यह संग्रह में केवल 1 दोस्त जोड़ता है।क्यों मेरी backbone.js संग्रह रीसेट केवल 1 मॉडल
मैंने console.log
पर cModels
पर किया था और यह ऐरे में 300 से अधिक वस्तुओं को दिखा रहा था, इसलिए मुझे पता है कि केवल 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 (मॉडल)) है; '। आप यह देखने के लिए कि मॉडल का पूरा सेट उस बिंदु पर बना रहा है या नहीं, इससे पहले कि आप 'डीबगर' या 'console.log (this.models, मॉडल, अनुक्रमणिका)' लाइन को जोड़ने का प्रयास करना चाहें। – machineghost