2
respostas

acao nao e disparada

        this.mensagem = new Bind(new Mensagem(),["msg"],this.msgView);
class ProxyFactory{

    // proxy factory foi criada para enxutar o controle//
    static CreateProxy(object,props,action){

      return  new Proxy(object,{

            get: function(target,prop,recieve){

                if(props.includes(prop)&& typeof(target[prop])==typeof(Function)){

                    return function(){
                        console.log(prop);
                        console.log(this)

                        console.log(arguments);
                        // inserido negociacao na lista//
                        Reflect.apply(target[prop],target,arguments);

                        // atualizando a view//
                        return action(target);
                    }

                }

                return Reflect.get(target,prop,recieve);

            },
            set: function(target,prop,value,recieve){
                if(props.includes(prop)){

                    action(target);

                }

                 return Reflect.set(target,prop,value,recieve);


            }



        });
    }
}
class Mensagemview{
    constructor(tag){
        this.tag = tag;
    }

    gerarMsg(model){
        console.log(this.tag.firstChild.classList);
        if(model.msg!=""){
            this.tag.firstChild.classList.add("alert");
            this.tag.firstChild.classList.add("alert-info");
            this.tag.firstChild.textContent = model.msg;
        }

    }

}
class Bind{


    // pode haver retorno dos construtores js//
    constructor(modelo,props,view){

        let proxy = ProxyFactory.CreateProxy(modelo,props, modelo=>{
            view.gerarMsg(modelo)
        });

        view.gerarMsg(modelo);

        return proxy;
    }


}

o meu ta um pouco diferente pq estava tentando outras coisas. o meu metodo de gerar a mensagem na view nao esta sendo exibido.

2 respostas

atualizaçao: encontrei o problema

OI, Luan, tudo bem?

Que bom que conseguiu resolver o erro :}

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