Como fazer com que o retorno de chamada funcione com "this" no escopo da classe [duplicado]
Esta pergunta já tem uma resposta aqui:
Chamar de volta este contexto [duplicado] 2 respostasEu tenho uma pergunta sobre o seguinte código para imprimir "this.text"
Preciso ter uma função de invólucro para fazê-lo funcionar. Isso é muito problemático.
Existe uma maneira mais simples (sem invólucro adicional) de fazê-lo funciona
function Class1() {
this.text = "test";
}
Class1.prototype.show = function() {
console.log(this);
console.log(this.text);
}
var testClass = new Class1();
function funWithCallBack(cb) {
cb();
}
// it will show "undefined" because "this" scope changes to window
funWithCallBack(testClass.show);
function wrapper() {
testClass.show();
}
// this one will work but troublesome
funWithCallBack(wrapper)