0

我正在使用 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 view, Composite view. 我需要将逻辑放在视图/模板中吗?

4

1 回答 1

2

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

您有一组要渲染的部门。ACollectionView会处理这个问题,允许每个部门自己呈现。

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

然后,每个部门的复合视图都需要呈现员工列表。员工信息看起来相当简单,所以一个 ItemView 就足够了。

最终结果将是:


CollectionView
  - CompositeView (department)
    - ItemView (employee)

...当然,您的实际数据结构不适用于此布局,因为您将关系反转,员工知道它属于哪个部门。您要么需要反转数据/关系,以便部门知道他们在服务器上拥有哪些员工/返回的 JSON,要么进行一些客户端过滤和分组以获得该结果。

于 2012-06-22T18:27:08.587 回答