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

como ficaria a solução usando o bind() ?

this._listaNegociacoes = new ListaNegociacoes(function(model) {
    this._negociacoesView.update(model);
});

Galera, vi no topico (https://cursos.alura.com.br/forum/topico-bind-44301) que é possível resolver esse problema (em relação ao contexto do this) usando também bind no lugar de usar arrow function. Como ficaria essa solução??

1 resposta
solução!

No constructor do controller:

let triggerUpdateList = (function(dataModel) {this._negView.update( dataModel )}).bind(this);
this._negList    = new NegotiationList( triggerUpdateList );

Na classe NegociationList não seria necessário passar o contexto para o construtor. No método adicionar, ao invés de utilizar a classe Reflect, o método seria chamado diretamente:

add( negotiation ) {
        this._dataList.push( negotiation );
        this._triggerUpdate( this );
        // Reflect.apply(this._triggerUpdate, this._context, [this]);
}

Testei essa solução no google-chome e funcionou perfeitamente.