Tha*_* K. 9 dynamic regions backbone.js marionette
我有一个布局,但不能提前定义它的所有区域,因为它们是未知的.
所以稍后会创建一个ItemView,我想在布局中使用视图的ID作为区域名称创建一个新区域,这样我就可以说:
layout.dynamicRegionName.show(newItemView);
Run Code Online (Sandbox Code Playgroud)
但这里有循环依赖.
我还没有呈现视图,所以我无法引用它的DOM元素,以便在布局调用.addRegion()时使用
我无法渲染它,正是因为我希望它通过调用它的.show()通过动态添加的区域附加到DOM树.
@DerickBailey在github中的Marionette.Layout文档中,我相信示例中有一个错误: layout.show(new MenuView());
但从技术上讲,这接近我们在这里所需要的,即能够做到:
layout.addRegion(VAR_WITH_NEW_REGION_NAME, aViewInstance);
Run Code Online (Sandbox Code Playgroud)
并将其添加到布局渲染中的新Region直接在视图实例中.
我错过了其他一些明显的方法来实现这一目标吗?这是一个已知的缺失功能吗?有没有理由不拥有它?
我知道之前的问题:" 动态添加/删除区域到布局 ",但没有看到任何明确/明确的答案.
Der*_*ley 19
Marionette v1.0(v1.0.2是最新的,现在)支持Layouts中的动态区域.
var MyLayout = Marionette.Layout.extend({
template: "#some-template"
});
var layout = new MyLayout();
layout.render();
layout.addRegion("someRegion", "#some-element");
layout.someRegion.show(new MyView());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10768 次 |
| 最近记录: |