Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

não ta incrementando outra negociacão no array

mano não ta incrementando no array. quando adiciono um ele funciona mas quando eu adiciono dois o primeiro some e o segundo fica no lugar do primeiro meu código

class NegociacaoController {
    constructor() {
        let $ = document.querySelector.bind(document)
        this._data = $("#data").value;
        this._quantidade = parseInt($("#quantidade").value);
        this._valor = parseFloat($("#valor").value);
        this._listaDeNegociacoes = new ListaDeNegociacoes();
    }

    adicionar() {
        this._listaDeNegociacoes.adiciona(this._criaNegociacao());
        this._lipaform();
        console.log(this._listaDeNegociacoes.negociacoes)
    }

    _criaNegociacao () {
        return new Negociacoes(DateHelp.dataParaTexto(this._data), this._quantidade, this._valor);
    }

    _lipaform() {
        let form = document.querySelector(".form");
        form.reset();
        form.data.focus();
    }

outro código

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

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


    get negociacoes() {

        return this._negociacoes;
    }
}

console:

(1) […]
​0: Object { _quantidade: 1, _valor: 100, _volume: 100, … }
​length: 1
​<prototype>: Array []
------------------------------------------------------------------
(1) […]
0: Object { _quantidade: 5, _valor: 90, _volume: 450, … }
length: 1
<prototype>: Array []

obs: o event.preventDefault() eu já coloquei o problema não é ele

1 resposta
solução!

então, infelizmente não da para apagar um tópico na alura. então eu vou falar o que aconteceu vai que vc fez a mesma coisa. para chamar a função para enviar o formulário eu usei esse código

    <script>
        const form = document.querySelector(".form");
        form.addEventListener('submit', function(event) {
            event.preventDefault()
             let negociacaoController = new NegociacaoController();
            negociacaoController.adicionar();
        })
    </script>

e o codigo voltou ao normal depois que eu coloquei esse:

    <script>
        const form = document.querySelector(".form");
        var negociacaoController = new NegociacaoController();
        form.addEventListener('submit', function(event) {
            event.preventDefault()
            negociacaoController.adicionar();
        })
    </script>

eu também mudei o método para limpa o formulário e saiu os bugs que tinha

    _lipaform() {
        this._data.value= '';
        this._quantidade.value= '1';
        this._valor.value= '';
        this._data.focus();
    }