2015-01-06 8 views
14

Marionette(2.3.0)のドキュメントでは、アプリケーション領域の機能が推奨されていません。レイアウトビューを代わりに使用する必要があります。それではMyApp.addRegions()を使用しないでください。次に、アプリケーションにレイアウトビューを追加するにはどうすればよいですか?Marionette Application Regionsが廃止されて以来使用するもの

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

塗布領域

警告:この機能は廃止され、非推奨。 アプリケーションをビューツリーのルートとして使用する代わりに、レイアウト ビューを使用する必要があります。レイアウトビューをドキュメント全体に表示するには、 を 'body'に設定します。これは次のようになります。

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

+0

それを入手しました。ありがとう@oɔɯǝɹ。 – Cassandra

+1

[MarionetteJS:Application Regions vs. Layouts]の複製が可能です(http://stackoverflow.com/questions/27807663/marionettejs-application-regions-vs-layouts) –

答えて

4

私は、非常に簡単な例で、マリネのレイアウトビューの使用法について説明したいと思います。

HTML

<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> 

JSコード: -

 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); 

私はEL素子以前ずにしようとしていたが、私は運を持っていないと私はエルを使用されるように注意してください: "#1 someElem" 生活簡単になった

関連する問題