dojo/_base/declare で作成された Dojo のクラスのようなオブジェクトを使用する際に、いくつかの概念上の問題があります。
次のモジュールを作成しました。
define(["dojo/_base/declare", ....], function(declare,....){
return declare('my.widget', null ,function(..){
startup: function() {
....
new Button({onClick: this.newItem}, newButtonNode)
},
newItem: function() {
this.openDialog({}, this.saveItemCallback)
},
openDialog: function(item,callback){...},
saveItemCallback: function(item){....}
})
})
問題は、関数newItem
が機能していないことです。これは、ボタン クリックから呼び出されたときにthis
、'my.widget' インスタンスではなく、Button ウィジェットを指しているためです。
よくわかりません。「my.widget」インスタンスを参照するにはどうすればよいですか? 私が読んだ Dojo クラスでは、現在のインスタンスは で利用可能ですthis
。