これは私の場合です: jQuery.Forms を使用して、フォームの送信から ajax 呼び出しを行います。ajax 呼び出しが開始されて返されるとき、それらのイベントに応答するためにさまざまなモデル/ビューが必要です (呼び出しから返されたデータでモデルが更新され、一部のコントロールが無効になってから有効になるなど)。
ビュー内にマップされたフォームがあります。ビューからでもカスタム「formSubmitting」「formSubmitted (with data)」をトリガーし、それらのイベントに応答するモデル/ビューをいくつでも持つにはどうすればよいですか? Backbone.js でこれを行う最も慣用的な方法は何ですか?
編集:
これは私がやろうとしていることです:
window.UploaderView = Backbone.View.extend({
initialize: function() {
this.setElement(this.options.base_div);
this.$el.find('form').ajaxForm({
beforeSubmit: function() {
this.trigger('ajax-calling');
},
success: function(responseJSON) {
this.trigger('ajax-called', responseJSON);
},
dataType: 'json,'
});
},
});
var update_uploader = new window.UploaderView({
base_div: $('#update-upload-action'),
});
var trigged = new window.UploaderView({
parent_view: update_uploader,
initialize: function() {
this.options.parent_view.on('ajax-calling', function() {
alert('calling!');
});
},
});
しかし、これは機能しません (警告メッセージは表示されません)。
ありがとう