1
resposta

Problemas em adicionar novas negociações ao Array

Ao incluir uma nova negociação à lista de negociações, a negociação anterior desaparece, e a lista não consegue ter mais de um item adicionado.

Meu controller de negociações está assim:

class NegociacaoController{

  constructor(){
    let $ = document.querySelector.bind(document);
    this._inputData = $('#data');
    this._inputQuantidade = $('#quantidade');
    this._inputValor = $('#valor');
    this._listaNegociacoes = new ListaNegociacoes();
  }

  adiciona(event){
    event.preventDefault();

    this._listaNegociacoes.adiciona(this._criaNegociacao());
    this._limpaFormulario();
    console.log(this._listaNegociacoes.negociacoes);
  }

  _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();
  }
}

E meu modelo de adição de negociações está assim:

class ListaNegociacoes{
  constructor(){
    this._negociacoes = [];
  }

  adiciona(negociacao){
    this._negociacoes.push(negociacao);
  }

  get negociacoes(){
    return this._negociacoes;
  }
}
1 resposta

Olá Kaio, tudo bem com você?

Peço desculpas pela demora em lhe responder.

Gostaria de saber se o erro ainda é apresentado.

Realizando testes e simulações usando o código enviado em conjunto com o código da aula, o mesmo funcionou como esperado, adicionando novas negociações ao array _negociacoes. Para que eu possa auxiliar de forma assertiva, peço que compartilhe o projeto completo, assim poderei realizar testes e simulações e indicar onde modificar o código.

Basta compartilhar a pasta compactada do seu projeto em um site de compartilhamento (exemplo: Google Drive) e enviar o link de compartilhamento na resposta desta postagem.

Abraços e bons estudos!

Fico no aguardo e à disposição

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software