实际上我正在开发一个我正在使用以下框架的应用程序。
Backbone.js
Handlebar.js
Marionette.js
Require.js
实际上我没有得到如何调试这个问题。
我在视图MemberRegistrationView
中有这样的触发事件
this.trigger("memRegForm:submit", memRegisFormData);
现在在我的这个MemberRegistrationView对象的控制器中,我已经在控制器中使用了这个处理程序。
memberRegistrationView.on("memRegForm:submit", function(data) {
console.log("member submit event ");
});
但问题是这个处理程序没有被调用。现在如何调试这实际上我是骨干的新手。
我在Google上搜索过但无法找到任何帮助。
答案 0 :(得分:1)
作为一种调试方式,我会采取以下步骤:
在View:
中定义处理程序事件时验证代码是否有效var MemberRegistrationView = Backbone.View.extend({
...
initialize: function() {
this.on("memRegForm:submit", function(data) {
console.log("member submit event ");
});
}
...
});
在此步骤中,检查是否从您的视图触发了此事件。如果没有被触发,那么你的触发方式就会出现问题。在你的触发线上放置一个断点并进行调试 - 检查你的情况是否达到了这一行。
如果之前的代码正在运行,那么在View外部定义处理程序事件时会出现问题。我会做下一件事:验证事件是否已在视图对象上注册 - 这可以在视图对象的 _events 属性中看到。
仅供参考 - 在主干中你有可以在每个对象中混合的事件模块。 View对象已经拥有它。可以在http://backbonejs.org/#Events
查看此模块的功能