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

Problema para iniciar a mensagem de validação de cadastro de negociação.

Ao realizar o primeiro cadastro de negociação a mensagem de "Negociação cadastrada com sucesso!" não aparece. Mas, quando realizo o segundo cadastro a mesma já aparece. Fiz um debug e notei que no primeiro cadastro o atributo "target" se encontra nulo mais no segundo cadastro ele retornar a mensagem corretamente. Classe: ProxyFactory. Codigo:

set(target, prop, value, receiver){
                if(props.includes(prop)){
                    acao(target);
                }
                return Reflect.set(target, prop, value, receiver);   
} ;

Examinarei mais um pouco o código para vê se encontro o motivo do erro. Qual quer coisa se eu não encontrar o problema, necessitarei de ajuda dos Instrutores e colegas para resolver o mesmo. att,

2 respostas
solução!

Então, retornei o codigo "this._mensagemView.update(this._mensagem);" no método "adiciona" da classe NegociacaoController e voltou a funcionar. Mas, pensei que com a criação do "view.update" da classe Bind e com set da classe ProxyFactory usado no construtor da classe NegociacaoController seria o necessário para funcionar, mas, parece que não. Agora fiquei com duvidas! Alguém pode ajudar?

Codigo que resolveu o problema:

adiciona(event){
...
        this._mensagemView.update(this._mensagem);
...    
}

Que pegadinha em Flavio! Na vídeo aula você não colocou o código "target[prop] = value;" dentro de set

O target no primeiro momento vem nulo e por isso tem que ser carregado com o valor do atributo value.

set(target, prop, value, receiver){
    if(props.includes(prop)){
        target[prop] = value;
        acao(target);
    }
    return Reflect.set(target, prop, value, receiver);   
}

e confirmei isso quando cheguei no final das videos aulas desse capitulo, pois você adicionou "target[prop] = value" no seu código. Vlw e abraço.