我不确定我的"this"指的是什么
我想在我的代码中包含以下内容,我希望"this. getownercomponent()…"中的"this"指向与我创建的新变量相同的"this",该变量位于k.g getaggregation("hello..
")之外。我该怎么做?
代码:function () {...
var c = this.getHat();
var agg = this.getOwnerComponent()
item.press: function() {
var c = this.getHat(); //this" is not equal to the same "this" inside variable agg
}
需要绑定函数。在ES6中,你可以使用=>
函数语法,它总是绑定的。MDN文档
代替:
}.bind(oVBI));
尝试使用:
}.bind(this));
如果你想考虑旧的浏览器,你也可以使用老式的构造函数。
function person(name){
// properties
this.name = name;
this.greet = function(){
alert("Hello, "+this.name);
}
}
var p = new person("bob");
p.greet();