Events 带事件的主干传递对象
在阅读主干教程时,似乎当从Events 带事件的主干传递对象,events,backbone.js,marionette,backbone-events,Events,Backbone.js,Marionette,Backbone Events,在阅读主干教程时,似乎当从集合触发添加事件时,添加的项目将与事件一起发送(对于删除,情况也是如此)。我在网站上找不到有关此功能的任何文档,我很好奇是否有办法将对象与我的自定义事件一起发送。其次,在木偶中是否可能出现类似的情况?主干定义的每个对象都混合在一起,这意味着您可以使用它触发事件。它被定义为 触发器对象.触发器(事件,[*args]) 为给定事件或以空格分隔的事件列表触发回调。后继论点 to触发器将传递给事件回调 你只需要传递额外的参数就可以在回调中得到它们 比如说, var m = ne
集合
触发添加
事件时,添加的项目将与事件一起发送(对于删除
,情况也是如此)。我在网站上找不到有关此功能的任何文档,我很好奇是否有办法将对象与我的自定义事件一起发送。其次,在木偶中是否可能出现类似的情况?主干定义的每个对象都混合在一起,这意味着您可以使用它触发事件。它被定义为
触发器对象.触发器(事件,[*args])
为给定事件或以空格分隔的事件列表触发回调。后继论点
to触发器将传递给事件回调
你只需要传递额外的参数就可以在回调中得到它们
比如说,
var m = new Backbone.Model();
m.on('custom', function(more) {
console.log(more);
});
m.trigger('custom', 'more info');
将记录更多信息
请参见演示
您将触发一个引用对象的事件,以模拟主干的行为:
var m = new Backbone.Model();
m.on('custom', function(model, more) {
console.log(arguments);
});
m.trigger('custom', m, 'more info');
在衍生模型中:
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();
当然可以,您可以使用Backbone.Event
var collection = Backbone.Collection.extend();
collection = new collection();
collection.on("message", function(message){
console.log(message);
});
var model = new Backbone.Model();
collection.add(model);
model.trigger("message", "This is message");
关于您可以看到哪些类型的事件
这是
您还可以使用marionete.js中的r
事件聚合器实现。它从Backbone.Events扩展来提供对象中的核心事件处理代码,该对象本身可以根据需要进行扩展和实例化
var vent = new Backbone.Wreqr.EventAggregator();
vent.on("foo", function(){
console.log("foo event");
});
vent.trigger("foo");