मैं किसी ऑब्जेक्ट ब्राउज़र के लिए बैकबोन व्यू लिखने की कोशिश कर रहा हूं जिसे विभिन्न ऑब्जेक्ट प्रकारों और थोड़ा अलग ऑपरेशन के साथ कई स्थानों पर कार्यान्वित करने के लिए डिज़ाइन किया गया है। मैं कुछ अच्छे कोड पुन: उपयोग कैसे प्राप्त कर सकता हूं।बैकबोन व्यू विरासत
मैंने अपने ब्राउज़र में रीढ़ की हड्डी के दृश्य को विस्तारित करने और फिर मेरे कार्यान्वयन में ब्राउज़र को विस्तारित करने का प्रयास किया है, हालांकि यह मुझे कुछ गुणों के साथ छोड़ देता है। यह एक अवांछित प्रभाव है क्योंकि डेटा प्रत्येक ब्राउज़र निर्माण के साथ सभी कार्यान्वयन में जोड़ा जाता है।
क्या कोई इस समस्या को हल करने या शायद एक वैकल्पिक समाधान को हल करने के तरीके पर प्रकाश डाल सकता है?
यहाँ आप यह कैसे वर्तमान में खड़ा है का एक बेहतर विचार देने के लिए कुछ कोड उदाहरण हैं:
var BrowserView = Backbone.View;
_.extend(BrowserView.prototype, Backbone.View.prototype, {
className: 'browser',
collections: [],
events: {
},
_events:{
},
initialize: function() {
this._initialize();
},
render: function() {
this._render();
},
_initialize: function() {
this.container = $(this.make('div', {class: 'container'}));
this.$el.append(this.container);
if (this.options.collections) {
this.collections = [];
_.each(this.options.collections, this.add, this);
}
_.extend(this.events, this._events);
this.delegateEvents();
},
_render: function() {
this.container.empty();
_.each(this.collections, function (view) {
this.container.append(view.el);
view.render();
}, this);
}
});
BrowserView.extend = Backbone.View.extend;
var ContactBrowserView = BrowserView.extend({
});
हमेशा की तरह मैं और अधिक कोड का टुकड़ा मैं प्रदान की है के किसी भी पहलू के संबंध में स्वागत प्रतिक्रिया से।
धन्यवाद, एलेक्स
संपादित मेरे मुद्दा है कि उप वर्गों संग्रह संपत्ति साझा कर रहे हैं। यहां मेरे अपने समाधान का एक उदाहरण दिया गया है जो संग्रहित संपत्ति को विरासत विधि के माध्यम से प्रारंभ करता है। jsfiddle.net/JhZXh/3
हाय सैंडर, खेद मेरे सवाल का पर्याप्त वर्णनात्मक नहीं था। मैंने अपने मुद्दे के मूल को बेहतर ढंग से प्रदर्शित करने के लिए जेएस-फेडल भी बनाया है। शायद मुझे शुरुआत से ही यह करना चाहिए था। मेरा मुद्दा यह है कि उप वर्ग संग्रह संपत्ति साझा कर रहे हैं। किसी भी मामले में http://jsfiddle.net/JhZXh/3/ –
, बस उस मूल फ़ाइल में उस jsfiddle और विवरण को जोड़ें, हर कोई इसे यहां टिप्पणी में नहीं पाएगा। मैं इसे देख लूंगा और देख सकता हूं कि मैं एक बेहतर उपयुक्त उत्तर के साथ आ सकता हूं या नहीं। – Sander