O professor comentou : "Passamos o model como parâmetro do update(), ao adicionarmos o target. No entanto, o nosso código terá problema porque o this não será o controller, nem se usássemos uma arrow function. Por isso, vamos inserir uma variável chamada self. que receberá this."
Não entendi porque nesse caso, a arrow function não se aplica para this._negociacoesView.update(target);
this._listaNegociacoes = new Proxy(new ListaNegociacoes(), {
get(target, prop, receiver) {
if(['adiciona', 'esvazia'].includes(prop) && typeof(target[prop]) == typeof(Function)) {
return function(){
console.log(`método '${prop}' interceptado`);
Reflect.apply(target[prop], target, arguments);
this._negociacoesView.update(target);
}
}
return Reflect.get(target, prop, receiver);
}
});