如何使用Backbone Marionette渲染视图

时间:2012-06-22 16:32:59

标签: backbone.js 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。我需要在视图/模板中放置逻辑吗?

1 个答案:

答案 0 :(得分:2)

最终结果可以很容易地分解,以确定要使用的视图类型。

您有一系列要渲染的部门。 CollectionView会处理这个问题,允许每个部门自己渲染。

该部门本身有复杂的需求。它需要显示标题(部门名称)和一些详细信息 - 员工列表。这听起来像一个带有包装器模板的集合视图......一个CompositeView。

然后,每个部门的复合视图都需要呈现员工列表。员工信息似乎相当简单,因此ItemView就足够了。

最终结果将是:


CollectionView
  - CompositeView (department)
    - ItemView (employee)

...当然,您的实际数据结构对于此布局效果不佳,因为您将关系转换为员工知道其所属部门的位置。您可能需要反转数据/关系,以便部门知道他们在服务器上有哪些员工/返回JSON,或者做一些客户端过滤和分组以获得该结果。