2012-09-10 36 views
4

有沒有一種方法可以讓骨幹/牽線木偶在將視圖渲染到區域時不自動添加包裝容器標籤?Backbone Marionette查看和包裝容器

例如,可以說我想顯示項目列表。我想做到這一點的方法是通過一個複合視圖看長相這樣的:

<ul> 
</ul> 

然後看起來像這樣的項目視圖:

<li><%= title %></li> 

現在,我可以很容易地用相同的輸出改變用於自動生成元素的標籤是我不會自動生成的標籤/牽線木偶的最大原因,因爲我想盡可能在​​模板中保留儘可能多的html。如果出於某種原因,我想將列表更改爲表格,如果所有HTML都包含在模板中,則只需更改兩個模板文件。另一種方式則需要我更改2個模板文件和2個JavaScript文件(我必須更改文件以進行更改,發生錯誤的可能性就會降低)。我只是喜歡有這種分離的關切。

+0

[Backbone.Marionette中的項目視圖和佈局中的額外div div](http://stackoverflow.com/questions/11183130/extra-divs-in-itemviews-and-layouts-in-backbone-marionette) –

回答

0

Backbone和Marionette都沒有建立這方面的支持。但我想象一下,如果你能通過一些調整來獲得這種行爲。

Backbone.View有一個稱爲_ensureElement方法,該方法從構造和tagNameclassName如果el不設置el

您可以覆蓋_ensureElement以先呈現模板,然後使用它的第一個標記名稱作爲視圖的tagName。您還需要覆蓋Marionette.Renderer.render以去除模板的外部標記。

可能有更好的方法來覆蓋以實現這一邏輯。我還建議你在某處提供一個標誌來有選擇地打開這個行爲,這樣你就可以根據需要進行混合和匹配,這也有助於調試。

相關問題