Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Erro - Cannot read property 'adiciona' of undefined

Não estou conseguindo resolver este erro: NegociacaoController.js:19 Uncaught TypeError: Cannot read property 'adiciona' of undefined at NegociacaoController.adiciona (NegociacaoController.js:19) at HTMLFormElement.onsubmit (index.html:14)

class NegociacaoController {

    constructor() {

        let $ = document.querySelector.bind(document);
        this._inputData = $('#data');
        this._inputQuantidade = $('#quantidade');
        this._inputValor = $('#valor');

        this._listaNegociacoes = new ListaNegociacoes();
        this._negociacoesView = new NegociacoesView($('#negociacoesView'));


    }

    adiciona(event) {

        event.preventDefault();
        this._listanegociacoes.adiciona(this._criaNegociacao());
        this._negociacoesView.update(this._listaNegociacoes);
        this._limpaFormulario();
    }

    _criaNegociacao() {
        return new Negociacao(
            DateHelper.textoParaData(this._inputData.value),
            this._inputQuantidade.value,
            this._inputValor.value  
        );

    }

    _limpaFormulario() {
        this._inputData.value = "";
        this._inputQuantidade.value = "1";
        this._inputValor.value = 0.0;

        this._inputData.focus();

    }
}
2 respostas
solução!

Boa noite, João! Como vai?

Dentro do método adiciona() vc escreveu this._listanegociacoes.adiciona(this._criaNegociacao()) quando o correto seria this._listaNegociacoes.adiciona(this._criaNegociacao())! Faça essa correção e veja se as coisas funcionam como vc esperava!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Passou desapercebido, obrigado!