Eu instanciei a ListaNegociacao dentro do NegociacaoController.js olhei a sintax e todas as vezes que tento rodar ele diz que ListaNegociacao não está definida. O que é um erro comum e simples de resolver, acompanhei a transcrição da aula, mas não consigo achar o erro. Vou mandar os 3 códigos envolvidos. ListaNegociacao.js NegociacaoController.js e o meu HTML que está com outro nome Principal.html. Nessa ordem
class ListaNegociacoes { constructor(){ this.negociacoes = [] } adiciona(negociacao){ this.negociacoes.push(negociacao); } get negociacoes(){ return this._negociacoes; } };
class NegociacaoController{ constructor(){ let $ = document.querySelector.bind(document);
this._inputData = $("#data");
this._inputQuantidade = $("#quantidade");
this._inputValor = $("#valor");
this._listaNegociacoes = new ListaNegociacoes;
}
adiciona(event){
event.preventDefault();
let negociacao = new Negociacao(
DateHelper.textoParaData(this._inputData.value),
//this._inputData.value,
this._inputQuantidade.value,
this._inputValor.value
);
this._listaNegociacoes.adiciona(negociacao);
this._limpaFormulario();
console.log(this._listaNegociacoes.negociacoes);
}
_limpaFormulario(){
this._inputData.value = "";
this._inputQuantidade.value = 1;
this._inputValor = 0;
this._inputData.focus();
}
}
Negociações
<div class="grupo">
<Label for="quantidade">Quantidade</Label>
<input type="number" step="1" min="1" id="quantidade" value="1" required >
</div>
<div class="grupo">
<Label for="valor">Valor</Label>
<input type="number" id="valor" min="0" value="0" required >
</div>
<button class="btn" type="submit">Incluir</button>
</form>
<table class="tabela">
<thead>
<tr>
<th>DATA</th>
<th>Quantidade</th>
<th>Valor</th>
<th>Volume</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script src="js/app/models/Negociacao.js"></script>
<!-- <script>
var hoje = new Date();
var n1 = new Negociacao(hoje, 5, 700);
console.log(n1.data);
hoje.setDate(11);
console.log(n1.data); -->