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

foreach não funcionando

o foreach não reconhece model da lista:

class NegociacoesView {
    private _elemento: Element;

    constructor(seletor: string) {
        this._elemento = document.querySelector(seletor);
    }

    update(negociacoes: Negociacoes): void {
        this._elemento.innerHTML = this.template(negociacoes);
    }

    template(negociacoes: Negociacoes): string {
        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>
        ${negociacoes.visualizaArray().forEach(function (negociacao) {
            return `
                <tr>
                <td>${negociacao.data.getDay()/negociacao.data.getMonth()/negociacao.data.getFullYear()}</td>
                <td>${negociacao.quantidade}</td>
                <td>${negociacao.valor}</td>
                <td>${negociacao.volume}</td>
                </tr>

               `
        })}                
                </tbody>

                <tfoot>
                </tfoot>
            </table>                       
            `;
    }
}
visualizaArray() : Negociacoes[]{
        return [].concat(this._negociacoes);
    }
private _negociacoes : Negociacao[] = [];

o erro que está dando é que no parametro da função do foreach ele acha que negociacao : Negociacoes

ou seja, ele não esta entrando no loop do foreach dentro da lista

ex do erro: Property 'data' does not exist on type 'Negociacoes'

1 resposta
solução!

Fala aí Henrique, tudo bem? O problema parece ser no atributo data da classe Negociacao, tem certeza que o mesmo existe? Compartilhe o código da classe Negociacao.

Espero ter ajudado.