从Backbone链接:
http://backbonejs.org/#Events-catalog
如果您想阻止事件被触发,您可以选择{silent:true}。请注意,这很少,甚至从来都不是一个好主意。通过选项中的特定标记来查看事件回调以及选择忽略,通常会更好。
我正在寻找一个示例,当我们添加,删除或更新集合时,特别是当我们触发自己的事件时,我们如何传递自定义选项(上面一行中的特定标志)。
将我的旗帜传递给选项,然后在回调方面撤退什么都没有。
这就是我所做的:
var coll = new Backbone.Collection.extend({
//
});
注册活动:
coll.add(aModel, {myFlag : true});
听力事件:
coll.on('add', function(model,collection,options){
console.log(options.myFlag);
//prints undefined
});
也适用于我的自定义活动:
注册活动:
coll.trigger('myEvent', {myFlag : true});
听力事件:
coll.on('myEvent', function(model,collection,options){
console.log(options.myFlag);
//prints undefined
});
答案 0 :(得分:0)
你的论点错了...... 对于自定义事件:
coll.trigger('myEvent', {myFlag : true});
coll.on('myEvent', function(options){
console.log(options.myFlag);
});
至于您的"add"
事件示例,它有效:
var coll = new Backbone.Collection();
coll.on('add', function(model,collection,options){
console.log(options.myFlag);///Prints True
});
coll.add({}, {myFlag:true});
请注意,coll的初始化与您的版本
不同