如果一个拥有50个模型的集合,似乎我有2个主要选项来呈现显示50个模型的列表:
- 选项1:创建特定的"项目视图"对于每个模型,并将这些视图附加到主"列表视图"。这将在每个"项目视图"之间提供直接关系。每个模型都是实用的,并且与Backbone哲学一致[/ p>
- 选项2:只有一个"列表视图"使用"数据属性"呈现列表在给定列表项上发生事件时帮助获取相应的模型。
我了解选项1 以更好的方式利用Backbone但是我关注事件侦听器的数量使用此选项。如果我有4个事件我必须听每个项目,这意味着我将在我的列表上有4x50 = 200个事件监听器...与选项2的4个(委托)事件监听器。
鉴于我想将Backbone用于cordova应用,哪种选择最合适?
答案 0 :(得分:0)
在这种情况下,使用“混合”方法是切实可行的。每个模型的视图,但仅在顶部列表视图上的事件侦听器,然后将进一步委托它们。这减少了DOM元素上的事件侦听器。
尽管如此 - 我只会在您需要额外的功能时使用每个项目视图,例如渲染和处理编辑表单,或者单个项目可能会被更改以便需要经常重新渲染。如果不是这种情况,请使用单个列表视图并让它处理事件。