2012-06-30 14 views
23

मैं बैकबोन-प्रोजेक्ट सेट अप करने के लिए कुछ 'पैटर्न' को समझने की कोशिश कर रहा हूं। नीचे दिए गए उदाहरणों में, 'रेंडर' फ़ंक्शन में, लेखक 'इस' का एक उदाहरण देता है।बैकबोन प्रस्तुत करें

यह क्यों है? क्या यह उदाहरण के लिए विशिष्ट है, या बैकबोन के लिए कुछ सामान्य है? मुझे नहीं लगता कि किसी को 'रेंडर' फ़ंक्शन में 'यह' क्यों वापस करना चाहिए।

उदाहरण

http://backbonefu.com/2011/08/filtering-a-collection-in-backbone-js/

Calling a jQuery plugin in a Backbone render method

उत्तर

28

यह सिर्फ एक आम बात है तो आप render() और श्रृंखला के लिए एक और विधि कॉल कॉल कर सकते हैं।

यह एक आम पैटर्न है कि दृश्य पेज में अपनी HTML सामग्री सम्मिलित नहीं है, और इस काम के उदाहरण है कि दृष्टांत एक पहली जगह में देखें द्वारा किया जाता है।

तो क्या आप कोड है कि दृश्य का दृष्टांत में लिखने के लिए है कुछ इस तरह है:

var myView = new MyView({ model: myModel }); 
myView.render(); 
$(myDOMElement).html(myView.el); 

लेकिन render() रिटर्न ही देखें तो आप इस तरह उपरोक्त कोड लिख सकते हैं यदि:

var myView = new MyView({ model: myModel }); 
$(myDOMElement).html(myView.render().el); 
8

this लौटने का अर्थ चेनिंग संभावनाएं प्रदान करने का अर्थ है।

उदाहरण के लिए, की सुविधा देता है मान:

var obj = { 
     prop1 : 0, 
     method1 : function(){ 
     }, 
     method2 : function(){ 
     } 
}; 
//Then you could do something like: 
obj.method1(); 
obj.method2(); 
obj.prop1 = 1; 

obj पर सभी कार्यों आप अलग से करने की जरूरत है।

अब विचार करें:

var obj = { 
     prop1 : 0, 
     method1 : function(){ 
      return this; 
     }, 
     method2 : function(){ 
      return this; 
     } 
}; 
//Now you could do these 
obj.method1().prop1 = 1; 
obj.method1().method2().method1(); 
+0

धन्यवाद एक बहुत है! मैंने fguillen के उत्तर की जांच की क्योंकि यह Backbone.js के लिए विशिष्ट है – Voles

संबंधित मुद्दे