什么方法会更有效?
我有一个 Backbone.Collection,所以我创建了一个 Backbone.View 来呈现这个集合。CollectionView 渲染方法:
render: ->
container = document.createDocumentFragment()
@collection.each (item) ->
view = new ItemView(item)
container.appendChild view.el
view.render()
$(el).append container
我可以以两种形式使用这些事件。
1.- 在 CollectionView 中设置事件对象,所以我需要在 CollectionView 中声明选择项目的动作并“拯救”我选择的模型。
CollectionView extends Backbone.View
events:
'click #itemView', 'onSelectItem'
onSelectItem: ->
##Get the model
##Show ItemDetailView
2.- 为每个 itemView 设置事件对象,因此 select 方法不需要检索模型。
ItemView extends Backbone.View
events:
'click #div','onSelect'
onSelect: ->
#Show ItemDetailView
这些选项中哪个更好?
已编辑:我创建了一个 JSperf 片段http://jsperf.com/backbone-events-on-collectionview-or-per-itemview
JSperf 向我们展示了 ItemView 方法更快,但这是唯一衡量重要性的指标吗?