drawSection
と呼ばれるとき誰も私に説明することができます 'this'の値は、グローバルスコープですか?dojoが必要とスコープ
ウィジェットを失う前に別の変数にウィジェットを保存しなくても、ここで使用する必要がありますか?
define("my/TextBox", [
"dojo/_base/declare",
"dijit/form/ValidationTextBox"
], function(
declare, ValidationTextBox
) {
function drawSection() {
alert(this);
require(["dojo/dom-construct"], function(domConstruct) {
alert(this); // this = window
});
};
return declare([ValidationTextBox], {
postCreate: function() {
this.inherited(arguments);
drawSection.call(this)
}
});
});
なぜこんなにグローバルスコープに戻っていますか? – blu10
呼び出し側が定義したスコープ( 'require')を' window'とします。 – ben
ベンが言ったように、 'lang.hitch(this、function(){})'は 'this'の関数を実行することを意味します。 'lang.hitch(window、function(){}) 'がクラスではなく' window'のスコープで実行されると宣言すれば、現在のクラスを参照してください。 –