在我的应用程序中,我有一个名为block的项目,它可以包含其他块项目并被其他块项目包含。为了简单起见,假设这些块可以无限嵌套。
我想知道我是否可以创建与也嵌套的块相对应的递归视图。每个视图都将呈现为DIV
包含其子级并位于其父级内的DIV
?
虽然视图在它们可以包含的内容方面是相似的,但它们将从服务器获取的实际内容可能不同。这是一个示例数据:
App.blocks.set('content',[
Em.Object.create({title:"One", id:"1", is_inside:"0"}),
Em.Object.create({title:"Two", id:"2", is_inside:"1"}),
Em.Object.create({title:"Three", id:"3", is_inside:"0"}),
Em.Object.create({title:"Four", id:"4", is_inside:"3"}),
Em.Object.create({title:"Five", id:"5", is_inside:"4"})
])
在此示例中,块 1 将呈现为根(假设 0 是根,这意味着不在任何其他块内)。块二将在块一内呈现,依此类推。
我注意到不久前有人问过类似的问题,但我对那里的答案不满意。我觉得在 Ember 中必须有一种优雅的方式来实现这一点。
你能给我举个例子来说明如何在 Ember 中做到这一点吗?如果没有,任何可以帮助我取得进步和完善我的问题的建议也将不胜感激。
编辑:这是我用一些可以用作起点的初始数据制作的 jsFiddle 。希望在您的帮助下,我可以DIVs
根据它们的is_inside关系进行嵌套。我已经更新了帖子以使用这个更简单的示例。