バックボーン0.9.0チェンジは言う:新しいバックボーンビューの 'イベント'ハッシュは、バージョン0.9.0の文字列ではなく関数値でどのように機能しますか?
ビューのイベントはハッシュ今も既存のビューメソッドの文字列名として だけでなく、直接関数値が含まれていてもよいです。
私が次のことを試してみると、イベントの値はundefined
です。
var BB = Backbone.View.extend({
'initialize': function() {
this.$el.html('<input type="button" value="Click me!" />');
jQuery('body').html(this.el);
},
'events': {
'click input[type="button"]': this.buttonClicked
},
'buttonClicked': function() {
alert('button clicked!');
}
});
window.b = new BB()
私は新しい機能を誤解していますか?誰かが私の予想とは違う仕組みを説明することができますか?おそらく、定義された時間に 'this'というJavaScriptの構文/値だけがボルケージされています。
、私はまだそれをやってに慣れている方法が動作します:
'events': {
'click input[type="button"]': 'buttonClicked'
},
非常に良い、ありがとう。私がこの点で驚いているのは、私が定義した各無名関数(あなたの例の 'パンケーキ'のような)が 'this'という値を持つかどうか、あるいはイベントはです。この行は、View自体にスコープが設定されていることを保証します。method = _.bind(method、this); –
@awcrud:行1078(およびこの例:http://jsfiddle.net/ambiguous/JEavM/1/)は、無名関数がビューにスコープされることを示します。 –