2013-08-22 4 views
5

हमारा एप्लिकेशन index.mustache में मूंछ टेम्पलेट का उपयोग करता है और बैकबोन का उपयोग करने के बजाय प्रारंभिक एपीआई कॉल सिम्फनी के साथ बनाता है। ऐसा इसलिए है कि उपयोगकर्ता प्रारंभिक पृष्ठ लोड पर एक खाली स्क्रीन पर नहीं देख पाएंगे।टेम्पलेट में गुजरने के बजाय, मौजूदा पेज तत्व पर Marionette.ItemView को कैसे बाध्य करें?

अब हम एक नए टेम्पलेट को पारित करने के बजाय, डोम में प्रस्तुत पृष्ठ तत्वों से जुड़ने के लिए मैरियनेट का उपयोग कैसे कर सकते हैं (ताकि हम डेटा में हेरफेर कर सकें और अंतःक्रियाशीलता जोड़ सकें)?

जहां तक ​​हमारे शोध से पता चलता है, हमें हमेशा मेरियनेट लेआउट और आइटम व्यू में एक टेम्पलेट में पास करने की आवश्यकता होती है, या हमें 'कोई टेम्पलेट त्रुटि' नहीं मिलती है।

क्या el संपत्ति है जिसका उपयोग हम बैकबोन की तरह कर सकते हैं? दूसरा विकल्प Marionette का विस्तार करना होगा। देखें, लेकिन ऐसा करने की सलाह नहीं दी जाती है।

उत्तर

7

आपको प्रतिपादन के बिना, दृश्य को तुरंत चालू करना चाहिए। http://jsfiddle.net/vpetrychuk/PkNTp/

var ItemView = Backbone.Marionette.ItemView.extend({ 
    el : '.content', 
    events : { 
     'click' : 'clickHandler' 
    }, 
    clickHandler : function() { 
     this.$el.append('clickHandler'); 
    } 
}); 

new ItemView(); 
+0

मुझे नहीं पता कि मैं गलत क्या कर रहा था की है। अब यह काम करता है ... अजीब। धन्यवाद Vitaliy! –

+6

मैं एक छोटा सा परिवर्तन सुझाता हूं: दृश्य में 'el' को हार्डकोड न करें। यह बाद में सिरदर्द का कारण बन जाएगा। इसके बजाय, 'el' को कन्स्ट्रक्टर विकल्पों में पास करें:' नया आइटम दृश्य ({el: ".content"}); ' –

+0

@DerickBailey सलाह के लिए धन्यवाद, हां यह निश्चित रूप से अधिक पुन: प्रयोज्य है। Marionette Btw का बड़ा प्रशंसक! :) –

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