Após criar o método update e chamá-lo dentro do constructor do "negociacao-controller", a tabela não aparece no browser. Já chequei todos os arquivos, mas o erro ainda persiste. O próprio console do browser não mostra nada.
minha 'negociacaoes-view':
export class NegociacoesView { private elemento: HTMLElement; //vamos criar um seletor css constructor(seletor: string) { this.elemento = document.getElementById(seletor); }
template (): string {
return `
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>Data/th>
<th>Quantidade/th>
<th>Valor/th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
`;
}
update(): void {
this.elemento.innerHTML = this.template();
}
}
meu 'negociacao-controller':
import { Negociacao } from "../models/negociacao.js"; import { Negociacoes } from "../models/negociacoes.js"; import { NegociacoesView } from '../views/negociacoes-view.js';
export class negociacaoController { private inputData: HTMLInputElement; private inputQuantidade: HTMLInputElement; private inputValor: HTMLInputElement; private negociacoes: Negociacoes = new Negociacoes(); private negociacoesView = new NegociacoesView('#negociacoesView');
constructor() {
this.inputData = document.querySelector("#data");
this.inputQuantidade = document.querySelector("#quantidade");
this.inputValor = document.querySelector("#valor");
this.negociacoesView.update();
}
adicionar(): void {
const negociacao = this.criarNegociacao();
this.negociacoes.adiciona(negociacao);
this.limparFormulario();
criarNegociacao(): Negociacao {
const exp = /-/g;
const date = new Date(this.inputData.value.replace(exp, ','))
const quantidade = parseInt(this.inputQuantidade.value);
const valor = parseFloat(this.inputValor.value);
return new Negociacao(date, quantidade, valor);
}
limparFormulario(): void {
this.inputData.value = "";
this.inputQuantidade.value = "";
this.inputValor.value = "";
//colocamos o focus no inputData
this.inputData.focus();
}
}