【发布时间】:2014-08-12 11:11:43
【问题描述】:
是否可以在 Marionette 中从嵌套的模型和集合列表中生成平面列表?
例如,我想生成一个选择元素,每个节点作为一个选项(子选项应该缩进):
[
{
nodeName: "top level 1",
nodes: [
{
nodeName: "2nd level, item 1",
nodes: [
{ nodeName: "3rd level, item 1" },
{ nodeName: "3rd level, item 2" },
{ nodeName: "3rd level, item 3" }
]
},
{
nodeName: "2nd level, item 2",
nodes: [
{ nodeName: "3rd level, item 4" },
{ nodeName: "3rd level, item 5"},
{ nodeName: "3rd level, item 6" }
]
}
]
}
]
这应该变成这样:
<select>
<option>top level 1</option>
<option> 2nd level, item 1</option>
<option> 3nd level, item 1</option>
<option> 3nd level, item 2</option>
<option> 3nd level, item 3</option>
<option> 2nd level, item 2</option>
...
</select>
到目前为止,我一直在尝试使用嵌套复合视图(如在这个小提琴http://jsfiddle.net/hoffmanc/NH9J6/ 中),但我无法使其正常工作。
问候
【问题讨论】:
-
这里是你的 fiddle jsfiddle.net/leighking2/NH9J6/219 的运行版本,删除了原始 github 依赖项,将一些替换为 cdn 版本,而其他一些没有被使用,所以我只是删除了它们。还将itemView 更改为treeRoot 上的chiewView,因为它在木偶2.* 中已更改为。那么您是否希望在渲染时显示缩进?
-
好的,谢谢!我懂了!小提琴不是我的,但我只是将它作为如何从嵌套模型/集合转到嵌套 ul 列表的一般方法。我只想从嵌套模型/集合转到平面选项列表。然后缩进只是为了向用户可视化“嵌套结构”。