SAPUI5 Developers Guide で、イベントの処理に関する次のメモを見つけました。
XML ビューでのイベントの処理。イベント ハンドラーは属性として使用されます。属性名はボタンの「press」などのイベント名で、属性値はイベント ハンドラ名です。イベント ハンドラーは、ビューのコントローラーで関数として定義する必要があります。XML ビューにイベント ハンドラーをアタッチするには、次の宣言を挿入します。 ...
<Button text="Press Me" press="doSomething"/>
... ボタンが押されると、メソッドcontroller.doSomething()
が実行されます。
私の XML ビューでは、これを次のように変換できます。
<Select change="doSomething">
select の値が変更されると、controller.selectOnChange
関数が呼び出され、«this 引数がコントローラー自体にバインドされます»。ただし、このイベント ハンドラーを JavaScript ビューにバインドすると、«this 引数は select 要素にバインドされます» .
これは、JavaScript ビューの次のコードに変換されると想定しています。
new sap.m.Select({ change : oController.doSomething })
イベント ハンドラーを間違った方法でバインドしていますか?