क्या बैकबोन संग्रह आसानी से क्लोन करने का कोई तरीका है? मुझे आश्चर्य है कि मॉडल के लिए विधि में कोई निर्माण क्यों नहीं है। मेरी समस्या यह है कि मेरे पास एक मॉडल है जिसमें बच्चों का संग्रह होता है। जब मैं मॉडल क्लोन करता हूं। मेरे पास अभी भी बच्चों का संग्रह है लेकिन केवल उनके डिफ़ॉल्ट मानों के साथ।रीढ़ की हड्डी संग्रह को क्लोन कैसे करें
उत्तर
आपका उपयोग केस क्या है जिसे आप संग्रह क्लोन करना चाहते हैं?
संग्रह के लिए क्लोन फ़ंक्शन में कोई निर्मित नहीं है क्योंकि आप संग्रह के भीतर मॉडल को क्लोन नहीं करना चाहते हैं। एक मॉडल को क्लोन करने से एक ही मॉडल के दो अलग-अलग उदाहरण हो सकते हैं, और यदि आप एक मॉडल को अपडेट करते हैं, तो दूसरा अपडेट नहीं किया जाएगा।
यदि आप किसी निश्चित मानदंड के आधार पर एक नया संग्रह बनाना चाहते हैं, तो आप संग्रह की फ़िल्टर विधि का उपयोग कर सकते हैं।
var freshmenModels = studentsCollection.filter(function(student) {
return student.get('Year') === 'Freshman';
}
var freshmenCollection = new Backbone.Collection(freshmenModels);
आगे जाना है और संग्रह में मॉडल क्लोन के लिए, आप निम्न कोड
var clonedCollection = new Backbone.Collection();
studentsCollection.each(function(studentModel) {
clonedCollection.add(new Backbone.Model(studentModel.toJSON()));
});
एक अन्य विकल्प लिख सकते हैं आप निम्नलिखित की जरूरत है (जो मैं जब मैंने पाया के लिए क्या देख रहा था इस सवाल;)):
- संग्रह की प्रतिलिपि मूल संग्रह के रूप में एक ही प्रकार का होना चाहिए (उदाहरण के लिए आप अपने खुद के संग्रह प्रकार है कि Backbone.Collection फैली) 0 बना लिया है
- संग्रह की प्रति model.clone() विधि का उपयोग कर बनाया जाना चाहिए क्योंकि संग्रह की नकल में मूल
- मॉडल ही विकल्पों के साथ बनाया जाना चाहिए
कोड:
var models = original.map(function (model) { return model.clone(); });
var options = _.clone(original.options);
var copy = new original.constructor(models, options);
बैकबोन पर एक सामान्य क्लोन विधि। चयन अजीब होगा क्योंकि मॉडलों और उनके घोंसले की वस्तुओं को संदर्भ द्वारा कॉपी किया गया है या खुद को क्लोन किया गया है या नहीं, इसके आसपास हमेशा सूक्ष्मताएं होने जा रही हैं। आवश्यकताएं आपके परिदृश्य के अनुसार जंगली रूप से भिन्न होंगी, इसलिए आपको जो चाहिए उसे लिखने के लिए यह छोड़ा गया है।
सबसे आसान तरीका:
var cloned = new Backbone.Collection(original.toJSON());
जहां original
संग्रह क्लोन करने के लिए है।
क्लोन समर्थन डब्ल्यू या डब्ल्यू/ओ विरासत समर्थन जोड़ने के लिए हमेशा बैकबोन के Collection
का विस्तार कर सकता है।
यह एक अच्छा जवाब है क्योंकि यह एक गहरा क्लोन करेगा, जिसका अर्थ है कि यह मॉडल को भी क्लोन करेगा। यदि आप एक उथले क्लोन पसंद करते हैं जहां एक नया संग्रह उसी मॉडल उदाहरणों को इंगित करेगा तो क्रेग माईल्स के उत्तर का उपयोग नीचे करें। – Dre
मॉडल के तरीके होने पर उपयोगी नहीं है – OlehZiniak
Backbone Collection clone() विधि का उपयोग करें:
var clonedCollection = myCollection.clone();
यह संग्रह का एक लिंक क्लोन करता है, इसलिए myCollection में परिवर्तन क्लोन में परिवर्तन का पालन करेंगे –
- 1. पार्स नेस्टेड जेसन रीढ़ की हड्डी संग्रह
- 2. रीढ़ की हड्डी
- 3. क्रमबद्ध रीढ़ की हड्डी संग्रह वर्णानुक्रम
- 4. रीढ़ की हड्डी जेएस
- 5. रीढ़ की हड्डी
- 6. रीढ़ की हड्डी जेएस
- 7. रीढ़ की हड्डी - एक साथ 2 संग्रह मर्ज करें?
- 8. रीढ़ की हड्डी मॉडल
- 9. रीढ़ की हड्डी तुलनाकर्ताओं को सही ढंग से कार्यान्वित करें
- 10. मॉडल विशेषताओं के आधार पर रीढ़ की हड्डी संग्रह
- 11. ember.js रीढ़ की हड्डी शैली
- 12. रीढ़ की हड्डी और requjs
- 13. रीढ़ की हड्डी स्क्रॉल घटना
- 14. रीढ़ की हड्डी ट्रिगर करता है। संग्रह कब होता है।
- 15. रीढ़ की हड्डी के पार्स फ़ंक्शन को ओवरराइड करना
- 16. एक रीढ़ की हड्डी जटिल मॉडल
- 17. रीढ़ की हड्डी पर अनुरोध शीर्षलेख
- 18. संग्रह घटना प्रसार के लिए रीढ़ की हड्डी मॉडल को कैसे रोकें?
- 19. सबव्यूज़ के साथ रीढ़ की हड्डी रूटिंग
- 20. jquery + रीढ़ की हड्डी/रीढ़/अंकुरित के mootools विकल्प है
- 21. जेएस रीढ़ की हड्डी जेएस वैश्विक मॉडल
- 22. रीढ़ की हड्डी मॉडल क्लाइंट-साइड को कैसे हटाएं?
- 23. बूटस्ट्रैप स्क्रॉलस्पी और रीढ़ की हड्डी रूटिंग
- 24. आईडी द्वारा रीढ़ की हड्डी मॉडल निकालें?
- 25. रीढ़ की हड्डी पैरामीटर नहीं भेजती
- 26. रीढ़ की हड्डी देखें + google visualization api
- 27. रीढ़ की हड्डी संग्रह में केवल पहले 20 आइटम प्राप्त करें
- 28. जेसन को रीढ़ की हड्डी में जोड़ने के लिए, जेएस संग्रह लाने के लिए
- 29. सरल रीढ़ की हड्डी खोज पृष्ठ - आप यह कैसे करेंगे?
- 30. _.bindAll (यह) और Uncaught TypeError: रीढ़ की हड्डी-relation.js
लेकिन मैं संग्रह में सभी एकल मॉडल की नकल करना चाहते हैं। –
आप ऐसा करने का प्रयास कर रहे हैं कि आपको किसी संग्रह में सभी मॉडलों की प्रतिलिपि बनाने/क्लोन करने की आवश्यकता है? – Paul
मेरे पास उत्पादों का समूह है, जिसमें उप उत्पादों की एक सूची हो सकती है। तो जब कुछ उन्हें टोकरी में डालते हैं तो मुझे सभी उप उत्पादों की प्रतिलिपि बनाना पड़ता है। उपयोगकर्ता उत्पाद की गिनती और उप उत्पादों के लिए बदल सकता है। इसलिए मुझे टोकरी में मूल की एक प्रति चाहिए। –