Backbone 定义的每个对象都混合在Backbone.Events 中,这意味着您可以使用object.trigger 触发事件。它被定义为
触发器 object.trigger(event, [*args])
触发给定事件或以空格分隔的事件列表的回调。随后的论点
to trigger 将被传递给事件回调。
您只需传递其他参数即可在回调中获取它们。
例如,
var m = new Backbone.Model();
m.on('custom', function(more) {
console.log(more);
});
m.trigger('custom', 'more info');
将记录more info
请参阅http://jsfiddle.net/nikoshr/HpwXe/ 以获取演示
你会触发一个引用对象的事件来模拟主干的行为:
var m = new Backbone.Model();
m.on('custom', function(model, more) {
console.log(arguments);
});
m.trigger('custom', m, 'more info');
http://jsfiddle.net/nikoshr/HpwXe/1/
在派生模型中:
var M = Backbone.Model.extend({
custom: function() {
this.trigger('custom', this);
}
});
var m = new M();
m.on('custom', function(model, more) {
console.log(model);
});
m.custom();
http://jsfiddle.net/nikoshr/HpwXe/2/