我們在我的團隊的項目之一使用Backbone.js的,這是我第一次使用它。骨幹:渲染語法
我見過很多次這樣的代碼(它的CoffeeScript的,但很清楚我的想法。@
意味着this.
)
clients_view = new Homespa.Views.Orders.Clients.SectionView(collection: @options.clients)
@$("#clients-section").html(clients_view.render().el)
clients_search_view = new Homespa.Views.Orders.Clients.SearchView
@$("#clients_search_modal").html(clients_search_view.render().el)
是不是有更好的辦法來做到這一點?我期望在我的觀點上調用render
,然後一切都很好,我不應該得到html並手動添加/替換它。
感謝您的時間!
追加本身DOM將需要外部世界的知識,將打破其encpsulation視圖。你可以給一個'.renderTo'方法,然後'client_search_view.renderto(「#clients_search_modal」)',但視圖本身不應該知道'「#clients_search_modal' – Esailija 2012-07-06 08:51:56
哦,所以這是它的工作原理與骨幹?我想有用'tagName'和其他屬性打這樣做的方式,但我想我錯了 – ksol 2012-07-06 08:58:22
這不是骨幹具體,你不能只是創建元素,並期望他們出現,他們需要被附加到元素的頁面已經存在於頁面上,我的意思是一個視圖只應該知道它擁有的元素,所以代碼已經是正確的IMO。 – Esailija 2012-07-06 09:01:34