我在擴展dojo的dojox.data.JsonRestStore,我想提供我自己的固定方案。 這是getUsername不會工作,因爲它並不指當前的數據存儲 看看這個代碼:Javascript範圍問題
/**
* @author user
*/
dojo.provide("cms.user.UserAuthenticationStore");
dojo.require("dojox.data.JsonRestStore");
dojo.declare("cms.user.UserAuthenticationStore", [dojox.data.JsonRestStore], {
schema: {
prototype: {
getUsername: function(){
return ???.getValue(this, "username");
}
}
}
});
你能告訴我是什麼來替代???用?
編輯:
這是可行的代碼,但它是醜陋的地獄,有人可以告訴我如何解決這個問題嗎?
/**
* @author user
*/
dojo.provide("cms.user.UserAuthenticationStore");
dojo.require("dojox.data.JsonRestStore");
dojo.declare("cms.user.UserAuthenticationStore", [dojox.data.JsonRestStore], {
schema: {
prototype: {}
},
constructor: function(){
var that = this;
this.schema.prototype.getUsername = function(){
return that.getValue(this, "username");
}
}
});
爲什麼我必須這樣做的構造函數? – 2009-10-08 23:58:02
另外這是getUsername imo ... – 2009-10-08 23:58:46
我不遵循getUsername註釋。無論如何,沒有理由在構造函數上做。我甚至不清楚你爲什麼使用scheme.prototype結構。 – Glenn 2009-10-09 00:05:24