Estava mexendo no código do projeto, e me deparei com uma questão: Se eu passo um método como callback de uma função, dentro desse método eu não consigo acessar as propriedades do constructor, por exemplo:
Criei um método que retira a mensagem de negociação:
_retirarMensagem() {
this._$('#mensagemView').innerHTML = '';
}
E aí chamei esse método dentro de um setTimeout pra essa funcionalidade acontecer depois de algum tempo:
setInterval(this._retirarMensagem, 2000);
( Tentei usar outras propriedadades do constructor além do $, e todas deram o mesmo resultado )
O código imediatamente acima está dentro do método adiciona():
adiciona() {
this._form.addEventListener('submit', event => {
event.preventDefault();
this._listaNegociacoes.adicionaNegociacoes(this._criarNegociacao());
this._mensagem.text = 'Negociação adicionada com sucesso!';
this._mensagemView._update(this._mensagem);
this._negociacoesView._update(this._listaNegociacoes);
setTimeout(this._retirarMensagem, 2000);
this._limparForm();
});
}
Quando eu tento rodar, dá erro de undefined, ou retorna undefined mesmo. Qual o motivo pra isso? Estou fazendo algo errado?