模型上的主干集合更改事件
Backbone collection change event on model
如果将特定字段更改为特定值,是否可以侦听集合中模型的更改?
我知道存在类似"change:fieldName"的东西,我正在寻找类似"changeTo:fieldName=true"的东西
没有"快捷方式"可以做到这一点。您必须侦听正常的change
事件,并在侦听器中查看该值是否已更改为您感兴趣的值。然后,传播事件,启动一个新的事件,或者做一些事情。
Backbone.Collection.extend({
initialize: function() {
this.on('change:property', this.onChange);
},
onChange: function(e) {
// sorry for pseudo-code, can't remember syntax by heart, will edit
if (e.newValue == true)
myLogic();
}
}
您不能监听显式值,因为这在一般情况下不会很好地工作,但您可以很容易地绑定到通用处理程序,并在此基础上运行代码。
var MyCollection = Backbone.Collection.extend({
initialize: function(models, options){
this.on('change:myProperty', this.changeMyProperty_, this);
},
changeMyProperty_: function(model, value){
if (value) this.myPropertyTrue_(model);
},
myPropertyTrue_: function(model){
// Do your logic
}
});
相关文章:
- 骨干-为什么不;t集合.重置触发模型事件
- 如何断开主干集合,使每个子集合也注册到将由父集合注册的所有事件
- 将事件处理程序分配给元素集合
- 如何在集合中的项上触发 jQuery 事件(意外的 jQuery 结果来自 $._data() 与集合的第一个元素)
- 在集合的空结果集上触发“重置”主干事件
- 复合视图在扩展主干集合时未收到“删除”事件
- 主干分组依据集合仅在一次事件单击后呈现
- 主干.js:在集合中使用时不会触发模型事件
- 主干集合未触发添加事件
- 使用模板事件侦听器删除 Meteor.js 集合时出现问题
- 为什么我的主干集合重置事件没有触发
- 主干在模型被“设置”到集合中后触发事件
- 所有集合项的 Backbonejs 事件或每个项视图的事件
- 在Backbone.js集合上引发自定义事件并传递数据
- 启动主干集合更改事件,但视图中没有任何更改
- 通过更改事件调用方法时,主干集合为空
- Backbone.js-can't获取数据,或绑定到集合上的获取事件
- 模型上的主干集合更改事件
- Backbone.js集合不调用“;重置”;事件
- 构建BackboneJS事件集合时的错误- new Event()抛出错误