これはスコーピングの問題だと確信していますが、モデルをデータベースに保存する前に確認を求めるために Bootbox (twitter の Bootstrap を拡張する小さなライブラリ) を使用しているバックボーン ビューがあります。ビューは、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)」を実行しようとしたところ、メインの HTML ドキュメントで Bootbox ライブラリが定義されているため、意味のある「Window」が返されました。では、Bootbox 呼び出しを取得してから、View の saveResults メソッドへのコールバックを行うにはどうすればよいでしょうか? メソッドへの参照を Bootbox の確認メソッドに渡す必要があります。