Cas*_*dra 14 backbone.js marionette
我对以下链接中的Marionette(2.3.0)文档感到困惑,该文档说不推荐使用应用程序区域功能.应该使用布局视图.这是否意味着我不应该再使用MyApp.addRegions()了?那么我该如何将我的布局视图添加到我的应用程序中?
http://marionettejs.com/docs/marionette.application.html#application-regions
应用领域
警告:不建议使用此功能已弃用.您应该使用布局视图,而不是将应用程序用作视图树的根.要将布局视图范围限定为整个文档,可以将其el设置为"body".这可能类似于以下内容:
var RootView = Marionette.LayoutView.extend({el:'body'});
小智 4
我想用一个非常简单的例子来解释布局视图在 marionette 中的用法。
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>
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
请注意,我之前尝试过不使用 el 元素,但我没有运气,当我使用 el:"#someElem" 时,生活变得更轻松
| 归档时间: |
|
| 查看次数: |
2390 次 |
| 最近记录: |