我需要在Ember中使用递归的嵌套视图集。基本上把它想象成一个带文件夹的文件结构。
我以为我可以用render
来做,但那不起作用。在structures/show
内查看:
{{#each child in structures}}
{{ render 'structures/show' child }}
{{/each}}
我收到错误:
Uncaught Error: assertion failed: This view is already rendered
我在另一个SO Question中读到了关于使用{{view}}
帮助器的信息:
{{#each child in structure.structures}}
{{ view App.StructuresShowView structureBinding='child'}}<br>
{{/each}}
但这不能正确呈现。可能是因为这个例子太旧了?
如何使用不同的对象正确呈现相同的视图(和控制器?)以构建嵌套/递归视图?有没有比对象方向更好的方法?
感谢。
更新。看起来像itemControllerClass可能正是我要找的东西?还是想弄清楚。
答案 0 :(得分:2)
我认为你不能在一条路线上多次拨打{{render}}
。如果您需要多次创建内容,则可能需要使用{{control}}
,这与{{render}}
相同,但{{render}}
只有一个控制器(singelton)和{{1}每次调用它时都会有一个新的控制器。
这是与您的问题相关的open issue。