2013-02-26 48 views
0

我正試圖在一個單一的句柄模板中呈現一個containerView的多個實例。如何在一個句柄模板中呈現同一個視圖的多個實例

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

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

上面的代碼工作正常,只要我不添加其他{{圖}}標籤引用相同的觀點。我不明白爲什麼......我附上了一個完整的小提琴,演示了這個問題。 (檢查控制檯以查看引發的錯誤)。

拋出的錯誤是「在渲染之後但插入到DOM之前,您曾經導致視圖重新呈現的東西」。

任何幫助/澄清將不勝感激!

史蒂夫

回答

4

的問題是,你創建()荷蘭國際集團在您的容器視圖定義子視圖,所以相同的子視圖實例被(或試圖定)插入兩次,一次爲每個實例的容器視圖。將這些create()更改爲extend(),您就會好起來的。

設置爲extend()塊一部分的屬性位於原型上,因此它們在實例之間共享。在容器視圖的情況下,容器視圖將實例化一個類,如果它找到一個它希望找到子視圖的類,並且因此具有它自己的該子視圖的實例,但是如果實例已經存在於原型上,它會嘗試使用它,並且因爲containerview的另一個實例認爲它擁有該子視圖實例並且已經插入它而炸燬。

+0

這裏和irc非常有幫助。感謝你的協助。爲了滿足他人在這裏是一個完整的小提琴展示正確的行爲http://jsfiddle.net/bZFB3/10/ – stevekane 2013-02-26 21:46:31

相關問題