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

O JS não está conseguindo achar a propriedade negociacoes do modelo listaNegociacoes em tempo de execução

No momento de montar o template o JS não encontra a propriedade negociacoes do modelo listaNegociacoes.

Não teríamos que dizer previamente que o modelo é de uma lista de negociações ?

Em tempo de execução estou tendo o seguinte problema :

Uncaught TypeError: Cannot read property 'negociacoes' of undefined

Apontando para este trecho do código:

   //o template só saberá 
    _template(model) {

        return `
        <table class="table table-hover table-bordered">
            <thead>
                <tr>
                    <th>DATA</th>
                    <th>QUANTIDADE</th>
                    <th>VALOR</th>
                    <th>VOLUME</th>
                </tr>
            </thead>
            <tbody>
                ${model.negociacoes.map(n => {

                   return `
        <tr>
            <td>${DateHelper.dataParaTexto(n.data)}</td>
            <td>${n.quantidade}</td>
            <td>${n.valor}</td>
            <td>${n.volume}</td>
        </tr>
              `      
                }).join('')}
            </tbody>
     </table>
            `;
    }
4 respostas

Oi Emmanuel tudo bem?

Tem como subir seu projeto no github, por gentileza, para eu dar uma olhadinha?

Prezado André, boa tarde!

Segue o link:

https://github.com/edabruzzo/aluraframe_novaVersao

solução!

Segue o que achei de erro:

No index html faltou referenciar o DateHelper.js

Na negociação controller tinha um enter quebrando o return, eu acho que não fazia diferença mas tirei ele pra deixar organizado

No DataHelper.js a classe estava Helper ao invés de DateHelper

Na negociacao controller faltou colocar _ na frente dos input

this._inputData = $('#data');
this._inputQuantidade =  $('#quantidade');
this._inputValor = $('#valor');

Caro André, bom dia !

Muito obrigado por apontar os erros no código.

Grande abraço !

Att,

Emmanuel D'Abruzzo