मैं अच्छी तरह से जानता हूं कि यह किया जा सकता है और मैंने काफी जगहों पर देखा है (सहित: एक पूरे संग्रह को बचाने के लिए सर्वश्रेष्ठ अभ्यास? )। लेकिन मैं अभी भी स्पष्ट नहीं हूँ "बिल्कुल कैसे" यह कोड में लिखा है? (पोस्ट इसे अंग्रेजी में समझाता है। जावास्क्रिप्ट विशिष्ट विवरण के लिए बहुत अच्छा होगा :)
मान लीजिए कि मेरे पास मॉडलों का एक संग्रह है - मॉडल स्वयं के पास नेस्टेड संग्रह हो सकते हैं। मैंने मूल संग्रह की toJSON () विधि को ओवरराइड कर दिया है और मुझे एक वैध JSON ऑब्जेक्ट मिल रहा है। मैं संपूर्ण संग्रह (इसी JSON) को "सेव" करना चाहता हूं, लेकिन बैकबोन उस कार्यक्षमता के साथ नहीं आता है।
var MyCollection = Backbone.Collection.extend({
model:MyModel,
//something to save?
save: function() {
//what to write here?
}
});
मुझे पता है कि आपको कुछ कहना है:
Backbone.sync = function(method, model, options){
/*
* What goes in here?? If at all anything needs to be done?
* Where to declare this in the program? And how is it called?
*/
}
एक बार 'दृश्य' प्रसंस्करण के साथ किया जाता है, यह सर्वर पर खुद को "बचाने" के लिए संग्रह को बताने के लिए ज़िम्मेदार है (एक बल्क अपडेट / हैंडलिंग अनुरोध को संभालने में सक्षम)।
उठने वाले प्रश्न:
- "यह सब एक साथ तार करें" कोड में कैसे / क्या लिखना है?
- कॉलबैक का 'सही' स्थान क्या है और "सफलता / त्रुटि" कॉलबैक कैसे निर्दिष्ट करें? मेरा मतलब सिंटैक्टली है! मैं बैकबोन में कॉलबैक रजिस्टर करने के सिंटैक्स के बारे में स्पष्ट नहीं हूं ...
अगर यह वास्तव में एक मुश्किल काम है, तो क्या हम jQuery.ajax को एक दृश्य में कॉल कर सकते हैं और सफलता this.successMethod
या this.errorMethod
त्रुटि कॉलबैक पास कर सकते हैं ?? क्या ये काम करेगा?
मुझे रीढ़ की हड्डी के सोचने के तरीके के साथ तालमेल बिठाने की ज़रूरत है - मुझे पता है कि मैं निश्चित रूप से कुछ wrt को याद कर रहा हूँ, पूरे संग्रह को सिंक कर रहा हूँ।