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

model.map is not a function

Todo o meu código do proxy está exatamente como o do vídeo:

    let self = this;
    this._listaNegociacoes = new Proxy(new ListaNegociacoes(), {

      get(target, prop, receiver){

        if (['esvazia', 'adiciona'].includes(prop) && typeof(target[prop]) == typeof(Function)){

          return function() {

            Reflect.apply(target[prop], target, arguments);

            self._negociacoesView.update(target);

          }
        }

        Reflect.get(target, prop, receiver);
      }

    }); 

Porém quando chega no momento de iterar o array de negociações em negociacoesView.js apresenta este erro: "model.map is not a function", da para consertar trocando o "target" que passo no método update por "target.negociacoes"

self._negociacoesView.update(target.negociacoes);

Mas gostaria de entender pq comigo está ocorrendo este erro ao passar apenas o "target".

1 resposta
solução!

Luan, boa tarde!

Se você der um console.log(target), verá que ele é um objeto. Objetos não são iteráveis. dentro desse objeto ai sim nós temos uma array _negociacoes e ela sim é iterável, por isso é necessário o uso do target.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software