2012-06-22 89 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'听起来很完美。 –

相关问题