dojo.declare("profile.BasicInfo", [dijit._Widget, dijit._Templated], {
somefunc: function() {
dojo.xhrPost({
url: ajaxURL,
content: adata,
load: function(data) {
alert(this);//this refers to the object sent to xhrPost
}
});
},
somevar: 17
});
место, где я использовал this
, относится к объекту, который я посылаю в качестве параметра функции xhrPost.Это правильно.Нет ошибокНо я хочу получить доступ к объекту, который является третьим параметром dojo.declare.
или я хочу получить доступ к somevar
.конечно this.somevar
не будет работать.
Одно из возможных решений, которое я придумал, - использовать дублирующую ссылку на this
, а затем использовать ее внутри xhrPost.Будет ли это работать?Или я неправильно использую Объекты.Или это создаст проблему, когда загрузчик dojo анализирует файл?
somefunc: function() {
var temp = this;
dojo.xhrPost({
url: ajaxURL,
content: adata,
load: function(data) {
alert(temp);//will temp refer to what i want it to?
}
});
},
Есть ли лучшее решение?