2012-06-22 86 views
0

我正在使用Backbone.Marionette並需要呈現員工及其各自部門的視圖。我希望它看起來像這樣:如何使用Backbone Marionette呈現視圖


Department 1 
*** 

Employee1 

Employee2 

Employee3 


Department 2 
*** 
Employee4 

Employee5 

Employee6 

Employee7 

Employee8 



Department 3 
*** 
Employee9 

Employee10 

我的收藏是這樣的:


Employee1/Department1 

Employee2/Department1 

Employee3/Department1 

Employee4/Department2 

Employee5/Department2 


etc. 

隨着department變化,我需要渲染department標題。

我將使用哪種視圖類型的組合。 Collection viewComposite view。我需要將邏輯放在視圖/模板中嗎?

回答

2

最終結果可以很容易地分解,以確定使用哪些視圖類型。

您有要呈現的部門的集合。 A CollectionView會處理這個問題,允許每個部門自己渲染。

該部門本身有複雜的需求。它需要顯示標題(部門名稱)和一些細節 - 員工名單。這聽起來像一個包裝模板的集合視圖...一個CompositeView。

然後,每個部門的綜合視圖需要呈現僱員列表。員工信息看起來相當簡單,因此ItemView就足夠了。

最終的結果將是:


CollectionView 
    - CompositeView (department) 
    - ItemView (employee) 

...當然實際數據結構不適合這個佈局,因爲你的關係倒在那裏的員工知道它屬於哪個部門工作得很好。您需要反轉數據/關係,以便部門知道他們在服務器上擁有哪些員工/返回的JSON,或者執行一些客戶端過濾和分組以獲得該結果。

+0

謝謝Derick,'CompositeView'的'CollectionView'聽起來很完美。 –

相關問題