【发布时间】:2013-03-20 15:08:05
【问题描述】:
我正在尝试将应用程序转换为 Backbone Marionette,但在渲染包含多个子集合的项目集合时遇到问题。
背景:
我正在开发一个地址簿应用程序,主要是为了我自己的启迪,但也希望对其他人有用。此应用程序的主屏幕显示用户联系人列表。这些联系人中的每一个都由一个视图表示,并有一个支持它的模型。这些模型中的每一个都具有存储为模型属性集合的附加关系信息。也就是说,电话号码和电子邮件地址都存储为每个联系人的集合。这些关系都由 Backbone Relational 支持,而且很好。
问题:
尝试将联系人视图从 Backbone.View 转换为 Marionette 时,我的第一个想法是使用 Backbone.Marionette.CompositeView,但复合视图只需要一个集合。呈现具有多个集合的重复项的正确方法是什么?
【问题讨论】:
-
真的需要收藏吗?这种方法听起来有点过度设计。电话号码是否有 API 端点?它们实际上是存储主干模型还是仅存储 Javascript 原语?
-
它们实际上是骨干模型。每个都有附加信息,否则它们只是父模型上的字段。我确信需要更多的是调整我对如何使用 Marionette 的思考方式。
-
由于您给出的原因,CompositeView 将无法工作,但您可以轻松地创建一个管理多个 CollectionView 实例的 ItemView。这基本上就是 CompositeView 所做的。
-
那么,创建一个 onRender 回调并在其中创建和渲染每个集合视图?
标签: javascript backbone.js marionette backbone-relational