2
respostas

Não encontra função update no construtor Bind

class NegociacaoController{

  constructor(){
    let $ = document.querySelector.bind(document);

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

    this._listaNegociacoes = new Bind(
          new ListaNegociacoes(), 
          this._negociacoesViews,
          ['adiciona','esvazia']);      

     this._negociacoesViews = new NegociacoesViews($("#negociacoesView"));

     this._mensagem = new Bind(
          new Mensagem(),
          this._mensagemView,
          ['texto']);      
     this._mensagemView = new MensagemView($("#mensagemView"));

  }

class Bind{

    constructor(model, view, props){
       let proxy = ProxyFactory.createProxy(model, props, model => {view.update(model)});
       view.update(model);
       return proxy; 
    }
}

Ao atualizar a página, a seguinte mensagem aparece no console e, com isso, a tabela e mensagem não aparecem nunca: Uncaught TypeError: Cannot read property 'update' of undefined at new Bind (Bind.js:5)

2 respostas

Já encontrei o erro, estava instanciando this._negociacoesViews e this._mensagemView só depois de chamar a classe Bind.

Oi, Luiz, tudo bem?

Que bom que encontrou o erro. E obrigada por compartilhar sua dúvida conosco :} Qualquer dúvida é só falar! Bons estudos