Ao atualizar o index.html ao final da aula 1 recebo a mensagem
Uncaught SyntaxError: Identifier 'negociacaoController' has already been declared
div id="negociacoesView"></div>
<script src="js/app/models/Negociacao.js"></script>
<script src="js/app/controllers/NegociacaoController.js"></script>
<script src="js/app/helpers/DateHelper.js"></script>
<script src="js/app/models/ListaNegociacoes.js"></script>
<script src="js/app/view/NegociacoesView.js"></script>
<script>
let negociacaoController = new NegociacaoController();
</script>
NegociacaoController
class negociacaoController {
/*para melhorar a performance do código,
usa-se o constructor para criar uma instância
e assim percorrer o DOM somente uma vez*/
/*quando eu jogo um método para uma variável,
ele perde a associação com o objeto, assim usa-se bind*/
constructor() {
let $ = document.querySelector.bind(document);
this._inputData = $('#data');
this._inputQtde = $('#quantidade');
this._inputValor = $('#valor');
this._listaNegociacoes = new ListaNegociacoes();
this._negociacoesView = new NegociacoesView($('#NegociacaoView'));
this._negociacoesView.update();
}
adiciona(event) {
event.preventDefault();
this._listaNegociacoes.adiciona(this._criaNegociacao());
this._limpaFormulario();
}
_criaNegociacao() {
return new Negociacao(
DateHelper.textoParaData(this._inputData.value),
this._inputQtde.value,
this._inputValor.value);
}
_limpaFormulario() {
this._inputData.value = '';
this._inputQtde.value = 1;
this._inputValor.value = 0.0
this._inputData.focus();
}
}