【发布时间】:2015-11-10 17:34:06
【问题描述】:
这是我的代码:
class ActivityView extends App
onInitialize: ->
@activities = new Activities
@activities.on 'add remove', @_renderActivityItems, @
当我从服务器端点检索数据时,响应可能包含十几个数据点。但是,每当将每条数据添加到集合中时,都会触发“添加”事件,并且会多次调用函数_renderActivityItems。
这似乎非常昂贵,因为该函数实际上会渲染集合内的所有元素。
最好在将所有元素添加到集合后调用一次_renderActivityItems 函数。
如何通过主干事件实现它?
【问题讨论】:
-
您是否使用 Collection.fetch() 方法来初始化集合?如果是这样,添加一个选项 {silent: true} 以防止监听器触发获取。
-
好建议!你是怎么找到这个选项的。我看了一下文档backbonejs.org/#Collection-fetch,它没有提到
silent。顺便说一句,请将您的评论转换为答案,以便我投票。 -
它在文档中,但隐藏在事件部分的底部。几个月前我在同一个问题上苦苦挣扎后发现了这一点:)
-
@AnthonyKong 如果回答解决了您的问题,请采纳表示问题已解决。
-
还没有。还需要测试一下