如何在句柄模板中呈现同一视图的多个实例

我正试图在一个单一的句柄模板中呈现一个containerView的多个实例。

http://jsfiddle.net/skane/bZFB3/4/

<script type='text/x-handlebars'>
  {{ view "App.MyContainerView" }}
</script>

只要我不添加引用相同视图的其他{{view}}标签,上述代码就能正常工作。 我不明白为什么......我附上了一个完整的小提琴,演示了这个问题。 (检查控制台以查看引发的错误)。

抛出的错误是“在渲染之后但插入到DOM之前,您确实导致重新呈现视图”。

任何帮助/澄清将不胜感激!

史蒂夫


问题在于你在容器视图定义中创建()了子视图,因此相同的子视图实例正在(或试图)被插入两次,每个容器视图实例一次。 将这些create()更改为extend(),您就会好起来的。

设置为extend()块一部分的属性位于原型上,因此它们在实例之间共享。 在容器视图的情况下,容器视图将实例化一个类,如果它找到一个它希望找到子视图的类,并且因此具有它自己的该子视图的实例,但是如果实例已经存在于原型上,它会尝试使用它,并且因为containerview的另一个实例认为它拥有该子视图实例并且已经插入它而炸毁。

链接地址: http://www.djcxy.com/p/60813.html

上一篇: How to render multiple instances of the same view in a handlebars template

下一篇: Ember.js :: Cannot render ember.js models in view