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

n.quantidade.value

Ola para renderizar o sistema tenho que colocar .value conforme codigo abaixo:

<tr>                 
    <td>${DateHelper.dataParaTexto(n.data)}</td>
    <td>${n.quantidade.value}</td>
      <td>${n.valor.value}</td>                                  
</tr>

Caso não coloque aparece o seguinte erro object HTMLInputElement]

Desde já agradeço pela atenção

4 respostas
solução!

você esta atribuindo o objeto $('#quantidade') ao invés do valor($('#quantidade').val()) dele a variável quantidade. Provavelmente você esqueceu um .val() em algum lugar. Veja onde vc atribui valores ao seu model.

Você esta se referindo ao projeto do curso ou projeto pessoal? Até porque, no projeto do curso eu não sigo essa abordai aí que você postou.

Olha, com a informação que você passou não dá para saber o que é. Mas chuto que o n.quantidade e n.valor são elementos do DOM e não um modelo. Por que eu digo isso? Porque no curso eu ensino a trabalhar com modelo no template e não elemento do DOM diretamente. Em suma, é o seu controller que pega os elementos do DOM e cria uma instância de Negociacao e essa negociacao é passada para o template.

Como o Fernando colocou, é bem capaz de ser o problema que ele indicou mesmo.

Entendi, realmente estava esquecendo de colocar o .value ao criar uma instância de Negociação dentro do Controller.

_criaNegociacao() {

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

    }

Agora funcionou,

As duas respostas me ajudaram!

Obrigado Fernando e Flavio!

Notícia boa! Bora continuar os estudos, ainda temos dois cursos de JS avançados pela frente!

Sucesso e bom estudo Lucas!