gpt4 book ai didi

动态添加区域到 Marionette 布局

转载 作者:行者123 更新时间:2023-12-02 09:33:58 28 4
gpt4 key购买 nike

我有一个布局,但无法提前定义其所有区域,因为它们是未知的。

稍后创建了 ItemView,我想使用 View 的 ID 作为区域名称在布局中创建一个新区域,这样我就可以说:

layout.dynamicRegionName.show(newItemView);

但是这里存在循环依赖。

  1. 我尚未渲染 View ,因此无法引用其 DOM 元素以在布局调用 .addRegion() 时使用

  2. 我无法渲染它,正是因为我希望它通过调用其 .show() 通过动态添加的区域附加到 DOM 树

@DerickBailey 在 github 的 Marionette.Layout 文档中,我相信示例中存在错误: layout.show(new MenuView());

但从技术上讲,这接近我们在这里需要的,即能够做到的:

layout.addRegion(VAR_WITH_NEW_REGION_NAME, aViewInstance);

并将一个新区域添加到布局中,直接在 View 实例中渲染。

我是否缺少其他一些明显的方法来实现这一目标?这是已知缺失的功能吗?有什么理由不拥有它吗?

我知道之前的问题:“Dynamically add/remove regions to a layout”但没有看到任何明确/确定的答案。

最佳答案

Marionette v1.0(v1.0.2 是最新版本)支持布局中的动态区域。


var MyLayout = Marionette.Layout.extend({
template: "#some-template"
});

var layout = new MyLayout();
layout.render();

layout.addRegion("someRegion", "#some-element");

layout.someRegion.show(new MyView());

关于动态添加区域到 Marionette 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15690683/

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