我想从我的骨干视图类触发一个自定义事件,然后我实例化我想要监听事件的视图。
简化示例:
var view = Backbone.View.extend({
render:function(){
this.trigger('customEvent', "working");
}
});
//用jquery ready方法分隔js文件。
$(function() {
var myView = new view();
myView.bind('customEvent', this.customEventHandler);
function customEventHandler() {
// do stuff
}
});
答案 0 :(得分:3)
如果你得到的错误是“回调[0]未定义”,那么问题在于事件绑定。你在哪里:
myView.bind('customEvent', this.customEventHandler);
this
引用了什么,是否有customEventHandler
方法?如果这一切都发生在全局范围内,您只需传入一个普通函数,不需要this
:
var view = Backbone.View.extend({
render:function(){
_this.trigger('customEvent', "working");
}
});
// define your callback
function customEventHandler() {
// do stuff
}
myView = new view();
myView.bind('customEvent', customEventHandler);
即使使用$(document).ready()
功能,也可以使用。