我有一个Hotspot类,它有一个方法,其中一个方法使用类变量this.pano_id
。
这个班级是这样的
function Hotspot(pano_id){
alert("First: " + pano_id);
this.pano_id = pano_id;
}
它有方法
Hotspot.prototype.Hotspots = function (){
alert(this.pano_id);
};
现在我已经在其他文件中创建了一个类实例,比如
var hotspot = new Hotspot(pano_id);
TweenLite.to(clear_pano[pano_num].material.materials[i], time, {opacity: 1, ease: Expo.easeOut, onComplete: hotspot.Hotspots});
它正在创建类对象,然后调用方法Hostpots,并且我使用了this.pano_id
,但这似乎不起作用,因为它警告未定义。我尝试在控制台上打印this
,它是TweenLite对象的类对象。
有没有办法可以使用this.pano_id?
答案 0 :(得分:0)
它不起作用,因为hotspot.Hotspots
在不同的上下文(TweenLite
对象中)被调用。将其包装到匿名函数中并显式调用hotspot.Hotspots
:
var hotspot = new Hotspot(pano_id);
TweenLite.to(clear_pano[pano_num].material.materials[i], time, {
opacity: 1,
ease: Expo.easeOut,
onComplete: function() {
hotspot.Hotspots();
}
});