Gostaria de entender melhor o por que de ter que colocar as mesmas aplicações que contém no método "adiciona" no construtor da classe NegociacaoController
Gostaria de entender melhor o por que de ter que colocar as mesmas aplicações que contém no método "adiciona" no construtor da classe NegociacaoController
Salve, Henrique!
Consegue explicar melhor a sua dúvida?
Vamos analisar aqui o que temos no construtor:
constructor() {
let $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputQuantidade = $('#quantidade');
this._inputValor = $('#valor');
this._listaNegociacoes = new ListaNegociacoes();
this._negociacoesView = new NegociacoesView($('#negociacoesView'));
this._negociacoesView.update(this._listaNegociacoes);
this._mensagem = new Mensagem();
this._mensagemView = new MensagemView();
}
E no método adiciona
:
adiciona(event) {
event.preventDefault();
this._listaNegociacoes.adiciona(this._criaNegociacao());
this._negociacoesView.update(this._listaNegociacoes);
this._mensagem.texto = 'Negociacao adicionada com sucesso';
this._mensagemView.update(this._mensagem);
this._limpaFormulario();
}
Perceba que o método adiciona
utiliza as propriedates que foram definidas no construtor, mas não fazer a mesma coisa.
Quanto construimos a controller, nós criamos as propriedades privadas (por convenção, propriedades privadas tem o nome iniciado pelo _) :
Isto feito, dentro do método adiciona
, nós conseguimos utilizar essas propriedades da seguinte firma:
this._listaNegociacoes.adiciona(this._criaNegociacao());
Espero que eu tenha te ajudado de alguma forma!
Bons estudos.