मैं कुछ जटिल दृश्य संबंधों के निर्माण backbone.js साथ काम कर रहा हूँ, और अगर वहाँ कुछ है कि इस तरह दिखता है करने का एक जावास्क्रिप्ट प्रदर्शन के दृष्टिकोण से कोई समस्या है मैं सोच रहा हूँ:नेस्टिंग दृश्य रीढ़ js
var viewOne = Backbone.View.extend({
tagName : 'li',
initialize : function() {
this.v2 = new viewTwo({parent:this});
},
clickHideOne : function() {
$(this.el).removeClass('selected');
}
});
var viewTwo = Backbone.View.extend({
tagName : 'a',
initialize : function() {
this.bind('click', this.clickHide, this);
},
clickHide(){
$(this.el).removeClass('selected');
this.options.parent.clickHideOne();
}
});
जहां यह दो दृश्यों के बीच एक परिपत्र संदर्भ का एक बहुत ही सरल उदाहरण है, ताकि एक दृश्य में घटनाओं को आसानी से दृश्यों की एक श्रृंखला को प्रसारित किया जा सके, या माता-पिता के विचारों में वस्तुओं के किसी भी संदर्भ को बनाए रखा जा सके। क्या ऐसी कोई परिस्थितियां हैं जहां यह एक समस्या होगी, विशेष रूप से आईई 7 + में डीओएम तत्व संदर्भों के साथ संभावित रिसाव के संबंध में, या माता-पिता के विचारों के संदर्भ में एक और अनुशंसित सर्वोत्तम अभ्यास है।
इसके अलावा, मैं समझता हूं कि मैं केवल $ (this.el) .parent ('li') कर सकता हूं। RemoveClass ('चयनित'); दृश्य में दो, यह बात नहीं है ... यह परिपत्र संदर्भ के बारे में मेरे प्रश्न का एक बहुत ही सरल उदाहरण है।
यह एक अच्छी विधि की तरह लगता है, मुझे लगता है कि मैं यह भी सोच रहा हूं कि बच्चे के दृश्य के बारे में जानने के लिए यह विशेष रूप से हानिकारक क्यों होगा? – tgriesser
क्योंकि बच्चे वस्तु ऑब्जेक्ट के निर्माण के लिए ज़िम्मेदार नहीं है क्योंकि उसे इसका कोई ज्ञान नहीं होना चाहिए और पूरी तरह से स्वतंत्र होना चाहिए। आप मूल रूप से अनावश्यक निर्भरता बना रहे हैं। –
लेकिन अगर यह मूल वस्तु पर निर्भरता हो तो यह समझ में नहीं आएगा ... जैसे कि मूल वस्तु के बिना बाल वस्तु मौजूद नहीं हो सकती - और यह कि आप केवल उस वस्तु को स्विच कर सकते हैं जो दृश्य के "पैरेंट" थे बाइंड और ट्रिगर को फिर से परिभाषित करने की तुलना में – tgriesser