2011-12-15 114 views
3

我只是有點麻煩來爲Ember實現一種特殊的視圖,我正在挖掘數天的源代碼,但無法找到如何使它工作......你可以拿一個看看並告訴我什麼是錯的?這是一個小代碼,從另一個視圖渲染一個視圖時的特定問題(它沒有對綁定進行正確的...)。在EmberJS上動態地呈現視圖

的示例代碼(帶註釋),演示了問題就在這裏:http://jsfiddle.net/wilkerlucio/rUUuN/

編輯:

只是爲了澄清,我想要做的動態呈現另一個視圖的視圖。它對於很多實現非常有用,例如標籤。在選項卡上,您有選項卡和顯示當前選項卡的容器,因此,我試圖完成的視圖與此當前選項卡容器類似。每個選項卡都有自己的視圖,我需要我的視圖能夠呈現當前選項卡的視圖。

我知道我可以做的事情就像隱藏視圖並顯示其他視圖,但這不是我現在想要的方式。我創建的這個CardView應該有一個綁定到一個屬性,該屬性將返回一個視圖實例,並且CardView將呈現該視圖,並且如果指向視圖更新的屬性將會更新。

你可以看到什麼我想在這裏做一個更全面覆蓋的例子:http://jsfiddle.net/wilkerlucio/Ztdpb/

感謝

+0

瞭解更多關於您想要實現的內容將會很有用。我懷疑可能有更好的方法來處理你想要做的事情。 – 2011-12-15 22:32:50

+0

另一件我注意到的事情。如果我使用this.appendChild在渲染過程中添加新視圖,它將起作用。但是,當你更新內部視圖時,它有點兒輕彈,它就像刪除和添加新視圖一樣分開的步驟,並且你可以在窗口中看到它彈開......我試圖認識到添加子視圖有什麼不同。 – 2011-12-16 02:05:47

回答

6

我認爲你需要指定模板,例如:

App.CardView = Ember.View.extend({ 
    defaultTemplate: SC.Handlebars.compile('{{App.obj.value}}') 
}); 

App.CardView = Ember.View.extend({ 
    templateName: 'sample' 
}); 

如果你打算有很多志ld視圖,那麼你可能想嘗試使用集合視圖。

這個鏈接是有點老了,但它仍然是不壞:http://guides.sproutcore20.com/using_handlebars.html

我也博客上講述它是如何實現的CRUD操作與Ember(SC2)here

希望這會有所幫助。