任何人都可以向我解釋爲什麼當drawSection
被稱爲「這個」的價值成爲全球範圍?道場的要求和範圍
是否有反正在這裏使用require而不必在另一個變量保存widget之前我失去它?
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
就像ben說的那樣,然後'lang.hitch(this,function(){})'表示執行'this'中的函數參考當前類,如果我們聲明'lang.hitch(window,function(){})',它將在'window'範圍內執行而不是類。 –