gpt4 book ai didi

backbone.js - 不推荐使用 Marionette 应用程序区域后的用途

转载 作者:行者123 更新时间:2023-12-03 22:39:29 27 4
gpt4 key购买 nike

我对下面链接中的 Marionette (2.3.0) 文档感到困惑,该文档说应用程序区域功能已被弃用。应改用布局 View 。这是否意味着我不应该使用 MyApp.addRegions()还有吗?那么我应该如何将我的布局 View 添加到我的应用程序中?

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

Application Regions

Warning: deprecated This feature is deprecated. Instead of using the Application as the root of your view tree, you should use a Layout View. To scope your Layout View to the entire document, you could set its el to 'body'. This might look something like the following:

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

最佳答案

我想用一个非常简单的例子来解释 Marionette 中布局 View 的使用。

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 元素,但我没有运气,因为我使用了 el:"#someElem"生活变得更轻松

关于backbone.js - 不推荐使用 Marionette 应用程序区域后的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27807614/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com