Não entendo o erro descrito no título. Estou repetindo o mesmo código com o namespace de Views para o View.ts e para o NegociacoesView.ts, porém o typescript só está reconhecendo o NegociacoesView como um namespace de Views.
View.ts
namespace Views{
abstract class View<T>{
protected _elemento: JQuery;
constructor(seletor: string){
this._elemento = $(seletor);
}
update(model: T): void{
this._elemento.html(this.template(model));
}
abstract template(model: T): string;
}
}
NegociacoesView.ts
namespace Views{
export class NegociacoesView extends Views.View<Negociacoes>{
template(model: Negociacoes): 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>
${model.paraArray().map(negociacao =>{
return `
<tr>
<td>${negociacao.data.getDate()}/${negociacao.data.getMonth()+1}/${negociacao.data.getFullYear()}</td>
<td>${negociacao.quantidade}</td>
<td>${negociacao.valor}</td>
<td>${negociacao.volume}</td>
</tr>
`
}).join('')}
<!-- join() concatena todas as strings em um string so-->
</tbody>
<tfoot>
</tfoot>
</table>
`;
}
}
}
O erro está quando eu utilizo o extends Views.View