モデルとビューがあるとします。ビューには 2 つのメソッドがあります。1 つはドキュメントの mousemove イベントをバインドし、もう 1 つは unbind メソッドです。デフォルトでは、ドキュメントの mousemove イベントを指定します。モデルのenable
値が変更されたら、ビューの unbind メソッドを呼び出します。
window.ConfigModel = Backbone.Model.extend({
defaults: {
'enable':0
},
initialize: function(){
this.bind("change:enable", function () {
var portView2 = new PortView();
portView2.viewOff();
});
},
change:function () {
this.set('enable', 9);
}
})
window.PortView = Backbone.View.extend({
viewOn: function () {
$(document).on('mousemove', function () {
console.log('move')
})
},
viewOff: function () {
$(document).off('mousemove');
}
})
次に、input
変更されたモデルを呼び出すためにドキュメントに次のように記述します。
$('input').click(function () {
var configModel = new ConfigModel();
configModel.change();
})
起動スクリプトは次のとおりです。
var portView1 = new PortView();
portView1.viewOn();
問題は、入力ボタンのクリックを呼び出すと、クロムがエラーを通知することです。何度も呼び出さMaximum call stack size exceeded
れるようです。change
私の問題は何ですか、どうすればこの問題を解決できますか