Bunun bir kapsam sorunu olduğunu düşünüyorum, ancak bunu nasıl düzelteceğimi bilmiyorum. addContent
baskılar ise nesne, http://jsfiddle.net/9k9Pe/1498/javascript ES6 sınıflarında 'this' döndürüyor undefined
class FrameCreator{
constructor(){
this.createFrame();
}
createFrame(){
var iframe = document.createElement('iframe');
this.iframe = iframe;
var frameLoaded=this.frameLoaded;
iframe.onload = function() {
frameLoaded();
};
document.body.appendChild(iframe);
}
frameLoaded(){
console.log("frame loaded");
}
}
class CustomFrameCreator extends FrameCreator{
addContent(){
console.log(this); // returns the object
}
frameLoaded(){
console.log(this); // returns undefined
}
}
var frame=new CustomFrameCreator();
frame.addContent();
frameLoaded()
baskılar tanımsız: İşte benim kodudur.
Bunu nasıl düzeltebilirim, böylece çerçeve yüklendiğinde bu konuda bir referans alabilir miyim?
Teşekkür
'var frameLoaded = this.frameLoaded;' başlayanlar için, bunu yapma. veya en azından bağla. –
"iframe.onload" adresinde hangi "frameLoaded" yöntemini çalıştırmak istediğiniz ve hangi "value" değerine sahip olduğu net değil. – Oriol