長年のC++/ C#開発者である私は、JSコードの多くを「クラス」に移動して、関数とデータをグループ化しています。ただし、これらのクラスはイベントを処理するため、適切なこのコンテキストを提供するために、呼び出しをクラスメソッドにルーティングするためだけに機能する「スタブ」ハンドラーを作成する必要があることに気付きました。だから私はこのようなことをしています:
var Manager = {
foo: 'x',
bar: 1,
onClickStub: function(evt) {
// 'this' refers to HTMLElement event source
Manager.onClick(evt);
},
onClick: function(evt) {
// 'this' now refers to Manager.
// real work goes here.
}
}
これは通常の方法ですか、それともクラスの編成を維持しながらイベントハンドラーを構造化するためのより良い方法がありますか?