2015-01-06 7 views
14

से हटा दिया गया है, इसलिए मैं नीचे दिए गए लिंक से मैरियनेट (2.3.0) दस्तावेज़ों से उलझन में हूं, जो कहता है कि एप्लिकेशन क्षेत्र सुविधा बहिष्कृत है। इसके बजाय एक लेआउट व्यू का उपयोग किया जाना चाहिए। क्या इसका मतलब है कि मुझे MyApp.addRegions() का उपयोग नहीं करना चाहिए? तो मैं अपने आवेदन में अपना लेआउट व्यू कैसे जोड़ूं?मैरियनेट एप्लिकेशन क्षेत्र को

http://marionettejs.com/docs/marionette.application.html#application-regions

आवेदन क्षेत्र

चेतावनी: पदावनत इस सुविधा को अनुचित है। अपने दृश्य पेड़ की जड़ के रूप में एप्लिकेशन का उपयोग करने के बजाय, आपको लेआउट व्यू का उपयोग करना चाहिए। अपने लेआउट व्यू को पूरे दस्तावेज़ में देखने के लिए, आप को अपने एल 'बॉडी' पर सेट कर सकते हैं। यह कुछ निम्न जैसा दिख सकता है:

var RootView = Marionette.LayoutView.extend ({el: 'body'});

+0

समझ गया। धन्यवाद @ ओɔɯǝɹ। – Cassandra

+1

संभावित मैप्लिकेट [मैरियनेट जेएस: एप्लीकेशन क्षेत्र बनाम लेआउट] (http://stackoverflow.com/questions/27807663/marionettejs- एप्लिकेशन-regions-vs-layouts) –

उत्तर

4

मैं मैरियनेट में लेआउट व्यू के उपयोग के एक बहुत ही सरल उदाहरण के साथ समझाऊंगा।

एचटीएमएल

<div id="appDiv"></div> 

    <script type="text/template" id="mainTemplate"> 
     <div id="div1"></div> 
     <div id="div2"></div>  
    </script> 

    <script type="text/template" id="itemTempFirst"> 
     <p>some text item 1 view</p> 
     <p>some text item view 1</p> 
    </script> 

    <script type="text/template" id="itemTempSecond"> 
     <p>some text item 2 view</p> 
     <p>some text item view 2</p> 
    </script> 

जे एस कोड: -

 var app = new Marionette.Application(); 
    var LayoutViewObj = Marionette.LayoutView.extend({ 
     template:"#mainTemplate", 
     el:"#appDiv", 
     regions:{ 
      reg1:"#div1", 
      reg2:"#div2" 
     } 
    }); 

     var layoutViewInstance = new LayoutViewObj(); 
     layoutViewInstance.render(); 

     var ItemView1Obj = Marionette.ItemView.extend({ 
     template:"#itemTempFirst" 
     }); 

     var ItemView2Obj = Marionette.ItemView.extend({ 
     template:"#itemTempSecond" 
     }); 

     var item1 = new ItemView1Obj(); 

     var item2 = new ItemView2Obj(); 

     layoutViewInstance.getRegion("reg1").show(item1); 

     layoutViewInstance.getRegion("reg2").show(item2); 

कृपया ध्यान दें मैं एल तत्व पहले बिना कोशिश कर रहा था, लेकिन मैं कोई भाग्य मिला है और जैसा कि मैंने एल का इस्तेमाल किया: "# someElem" जीवन आसान हो गया

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