Estou recebendo o seguinte erro ao implementar o super() dentro do método construtor: Uncaught SyntaxError: 'super' keyword unexpected here
class View { constructor(elemento) {
this._elemento = elemento
}
template() {
throw new Error('O método template deve ser implementado');
}
update(modelo) {
this._elemento.innerHTML = this._template(modelo) // modelo é a lista de negociacões que vem de NegociacaoController
}
}
class NegociacoesView extends View {
contructor(elemento) {
super(elemento);
}
template(modelo) {
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>
${
modelo.negociacoes.map( n => `
<tr>
<td> ${DateHelper.dateToText(n.data)} </td>
<td> ${n.quantidade} </td>
<td> ${n.valor} </td>
<td> ${n.volume} </td>
</tr>
`).join('') // o join faz com que o array retornado pelo map seja transformado em uma string
// evitando que o retorno seja um array, que é separado por vírgulas que serão mostradas no template
}
</tbody>
<tfoot>
<td colspan="3"> </td>
<td>
${ modelo.negociacoes.reduce((total, n) => total + n.volume, 0.0) }
</td>
</tfoot>
</table>`
}
}
class MensagemView extends View {
contructor(elemento) {
super(elemento);
}
template(modelo) {
if(modelo.texto){
return `<p style='text-align:center' class='alert alert-info'> ${ modelo.texto } </p>`
}
else {
return ''
}
}
}