0

我有这个集合的模型和列表视图的主干集合。

<ul>
  <li><input type="checkbox"/> <span>Title</span></li>
  ...
</ul>

当用户单击复选框时,我执行此代码

Actions.save({id: model.cid, data: {select: true}})

调度程序中的这个动作触发事件save-model,这里的问题是 - 谁应该处理这个事件?

我有两个选择:

1) 收藏

Dispatcher.on('save-model', function (event) {
  var model = collection.get(event.cid);
  if (model) {
    model.set(event.data);
  }
});

2)集合中的每个模型都应该听dispathcer

Dispatcher.on('save-model', function (event) {
  if (model.cid === event.cid) {
    model.set(event.data);
  }
});
4

1 回答 1

0

我会选择选项#1 - 收集。我的观点是这样事件只需要处理一次。如果在模型中绑定,假设你的集合有1k个模型,会触发1k个事件检查是否匹配,然后设置属性。

于 2015-01-07T09:44:24.467 回答