Вместо:
this.schema.prototype.getUsername = function() {
return ???.getValue(this, "username");
}
Вы можете попробовать:
this.schema.prototype.getUsername = dojo.hitch(this, "getValue", <this>, "username");
, где "<this>
" - это переменная, используемая в качестве первого параметра функции getValue.В противном случае ваш "that
" не так уж и страшен, но люди обычно называют его "self
" или как-то так.
Редактировать:
Может быть, это будет работать?Быстрый и грязный способ создания новой схемы.В противном случае вы можете создать другой компонент, который определяет вашу собственную схему отдельно.Затем вы можете просто создать «новую MySChema ()» в качестве «схемы» var.
dojo.declare("cms.user.UserAuthenticationStore", [dojox.data.JsonRestStore], {
self: this,
schema: new (function() {
this.getUsername = function () { return self.getValue(this, "username"); }
}
})();
});