我很确定这是一个范围界定问题,但我有一个主干视图,它使用 Bootbox(一个扩展 twitter 引导程序的小型库)在将模型保存到数据库之前提示确认。该视图负责捕捉 SAVE 按钮单击,此时 Bootbox 对话框应该弹出并提示确认。见下文:
window.StartView = Backbone.View.extend({
initialize: function () {
this.render();
},
events: {
"click .nextstage" : "nextstage",
"click .reshuffle" : "render",
"click .drilldone" : "drilldone"
},
drilldone: function() {
bootbox.confirm("Record Results?", function(result) {
result ? this.saveResults : alert("canceled") ;
});
},
问题是 this.saveResults 永远不会运行。我尝试用“alert(this)”代替它,然后我得到了“Window”,这是有道理的,因为 Bootbox 库是在主 HTML 文档中定义的。那么如何让 Bootbox 调用然后对我的 View 的 saveResults 方法进行回调呢?我必须以某种方式将对该方法的引用传递给 Bootbox 确认方法,对吗?