Flux - 谁应该更改正在收集的模型中的数据?
Posted
技术标签:
【中文标题】Flux - 谁应该更改正在收集的模型中的数据?【英文标题】:Flux - who should change data in models which are in collection? 【发布时间】:2015-03-05 02:34:26 【问题描述】:我有这个集合的模型和列表视图的主干集合。
<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);
);
【问题讨论】:
【参考方案1】:我会选择选项 #1 - 收藏。我的观点是这样事件只需要处理一次。如果绑定在模型中,假设你的集合有1k个模型,会触发1k个事件检查是否匹配,然后设置属性。
【讨论】:
以上是关于Flux - 谁应该更改正在收集的模型中的数据?的主要内容,如果未能解决你的问题,请参考以下文章