Estou com problema no exercício do tópico "Apresentando o modelo para o usuário" do curso TypeScript 1 e não consigo solucionar. Podem me ajudar por favor.
Após executar os comandos ;view = new NegociacoesView('#negociacoesView'); view.update();
recebo o erro; Cannot set property 'innerHTML' of null at NegociacoesView.update (NegociacoesView.js:7) at :1:6
Seguem minhas classes: class NegociacoesView { private _elemento: Element;
constructor(seletor: string) {
this._elemento = document.querySelector(seletor);
}
update(): void {
this._elemento.innerHTML = this.template();
}
template(): string {
return `
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>DATA</th>
<th>QUANTIDADE</th>
<th>VALOR</th>
<th>VOLUME</th>
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
</tfoot>
</table>
`
}
}
class NegociacaoController {
private _inputData: HTMLInputElement;
private _inputQuantidade: HTMLInputElement;
private _inputValor: HTMLInputElement;
private _negociacoes = new Negociacoes();
private _negociacoesView = new NegociacoesView('#negociacoesView');
constructor() {
this._inputData = <HTMLInputElement>document.querySelector('#data');
this._inputQuantidade = <HTMLInputElement>document.querySelector('#quantidade');
this._inputValor = <HTMLInputElement>document.querySelector('#valor');
}
adiciona(event: Event) {
event.preventDefault();
const negociacao = new Negociacao(
new Date(this._inputData.value.replace(/-/g, ',')),
parseInt(this._inputQuantidade.value),
parseFloat(this._inputValor.value)
);
}
}