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

Problema com a View e o metodo _template()

Ao criar a classe View ele fala que há um erro dentro do update(), que seria:

( View.js 7 ) Uncaught TypeError: this._template is not a function at NegociacoesView.update (View.js:7) at new NegociacaoController (NegociacaoController.js:11) at index.html:55

Classe View

class View {
    constructor(elemento){
        this._elemento = elemento;
    }

    update(model){
        this._elemento.innerHTML = this._template(model);
    }
}

Classe NegociacoesView

class NegociacoesView extends View{

    constructor(elemento){
        super(elemento);
    }

    _tamplate(listaNegociacoes){
        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>
                </tbody>
                    ${listaNegociacoes.map(negociacao =>
                    `
                        <tr>
                            <td>${DateHelper.dataParaTexto(negociacao.data)}</td>
                            <td>${negociacao.quantidade}</td>
                            <td>${negociacao.valor}</td>
                            <td>${negociacao.volume}</td>
                        </tr>
                    `).join('')}
                <tfoot>
                    <td colspan="3"></td>
                    <td>
                        ${listaNegociacoes.reduce((total,negociacao) => total = negociacao.volume,0.0)}
                    </td>
                </tfoot>
            </table>
        `;
    }

}

classe MensagemView

class MensagemView extends View{

    constructor(elemento){
        super(elemento);
    }

    _template(model){
        return model.texto ? `<p class="alert alert-info">${model.texto}</p>` : '';
    }

}
1 resposta
solução!

Olá Matheus, tudo bem com você?

Você cometeu um pequeno erro de digitação na sua classe NegociacoesView, veja:

    _tamplate(listaNegociacoes){

Basta corrigir para _template que provavelmente não haverá mais erros :)

Abraços e Bons Estudos!