尝试访问方法的 OOP JavaScript
OOP javascript trying to access a method
我已经写了ETF类,这是试图用javascript用OOP编写的。
该类称为ETF,方法是getData和draw。我正在尝试从方法"getData"访问方法"绘制"
function ETF(){
//global variable
}
//class methods => getData (from xml file), draw(draws the bar )
ETF.prototype ={
getData: function(is_load, DateDiff){
$.getJSON(
"server/ETF.server.php",{
mycase: 1
},
function(data){
lng_pr = data.longs_prec;
sh_pr = data.shorts_prec;
ETF.draw(lng_pr, sh_pr); // <== how to access the draw method?
});
},//end getData
//draw the
draw: function(lng_pr, sh_pr){
//draw code..
}
尝试了"this.draw",但什么都没有。
任何人?
您需要将"this"分配给变量,以便您可以在 $.getJSON 中访问它。 如果您尝试使用 this.draw(lng_pr, sh_pr) 调用该方法,"this"将指的是 $.getJSON 的上下文,而不是您当前的 ETF 对象。
以下是您的操作方法:
function ETF(){
//global variable
}
//class methods => getData (from xml file), draw(draws the bar )
ETF.prototype ={
getData: function(is_load, DateDiff){
var obj = this; //assign current ETF object to a variable
$.getJSON(
"server/ETF.server.php",{
mycase: 1
},
function(data){
lng_pr = data.longs_prec;
sh_pr = data.shorts_prec;
obj.draw(lng_pr, sh_pr); //will call your draw method below
});
},//end getData
//draw the
draw: function(lng_pr, sh_pr){
//draw code..
}
你为什么不这样写"类":?
function ETF() {
var that = this,
/* holds the public methods / properties */
thisObject = {};
thisObject.getData = function(is_load, DateDiff){
$.getJSON(
"server/ETF.server.php",{
mycase: 1
},
function(data){
lng_pr = data.longs_prec;
sh_pr = data.shorts_prec;
thisObject.draw(lng_pr, sh_pr); // <== how to access the draw method?
});
};// end getData
thisObject.draw = function(lng_pr, sh_pr){
//draw code..
};
return thisObject;
}
var etfObject = new ETF();
相关文章:
- Google Data API上的OOP Javascript回调方法
- 如何在浏览器中使用基于类的OOP JavaScript
- 对创建OOP Javascript的误解
- 尝试访问方法的 OOP JavaScript
- 每次单击按钮时,如何创建新对象并将旧对象存储在数组中?OOP JavaScript
- 无法删除事件侦听器 TypeScript/OOP JavaScript
- 普通的OOP Javascript:将localStorage视为数组不起作用
- Debug OOP javascript
- 如何从OOP Javascript开始
- OOP JavaScript:“;这个“;必要的方法
- OOP JavaScript - this reference
- Javascript事件addEventListener为同一函数多次注册;使用OOP Javascript
- 为什么在OOP javascript中使用object.prototype.constructor
- OOP Javascript-通过另一个公共方法从公共方法访问特权方法
- 最佳OOP JavaScript安全实践
- OOP Javascript "get property"必要的方法
- 未捕获的ReferenceError: myVar未定义;OOP Javascript
- OOP JavaScript - 初学者示例
- createjs.Shape()不能与OOP JavaScript一起工作
- 如何在JetBrains Webstorm/PHPStorm中编写oop javascript(带继承)来获得自动完成/